From fc703c209d415fe20ad5551465b5b68b8ab8b046 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sat, 1 Sep 2007 21:58:29 -0400 Subject: [PATCH 01/91] git-gui: Locate the library directory early during startup To support a localized version of git-gui we need to locate the library directory early so we can initialize Tcl's msgcat package to load translated messages from. This needs to occur before we declare our git-version proc so that errors related to locating git or assessing its version can be reported to the end-user in their preferred language. However we have to keep the library loading until after git-version has been declared, otherwise we will fail to start git-gui if we are using a fake tclIndex that was generated by our Makefile. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index fa30ccc5d6..4ea6e91b01 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -42,6 +42,20 @@ if {[catch {package require Tcl 8.4} err] exit 1 } +###################################################################### +## +## locate our library + +set oguilib {@@GITGUI_LIBDIR@@} +set oguirel {@@GITGUI_RELATIVE@@} +if {$oguirel eq {1}} { + set oguilib [file dirname [file dirname [file normalize $argv0]]] + set oguilib [file join $oguilib share git-gui lib] +} elseif {[string match @@* $oguirel]} { + set oguilib [file join [file dirname [file normalize $argv0]] lib] +} +unset oguirel + ###################################################################### ## ## enable verbose loading? @@ -595,15 +609,6 @@ You are using [git-version]: ## ## configure our library -set oguilib {@@GITGUI_LIBDIR@@} -set oguirel {@@GITGUI_RELATIVE@@} -if {$oguirel eq {1}} { - set oguilib [file dirname [file dirname [file normalize $argv0]]] - set oguilib [file join $oguilib share git-gui lib] -} elseif {[string match @@* $oguirel]} { - set oguilib [file join [file dirname [file normalize $argv0]] lib] -} - set idx [file join $oguilib tclIndex] if {[catch {set fd [open $idx r]} err]} { catch {wm withdraw .} @@ -637,7 +642,7 @@ if {$idx ne {}} { } else { set auto_path [concat [list $oguilib] $auto_path] } -unset -nocomplain oguirel idx fd +unset -nocomplain idx fd ###################################################################### ## From d4b0ccd931cc29f35e8f8493445af27ea72ed03e Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sat, 1 Sep 2007 22:22:42 -0400 Subject: [PATCH 02/91] git-gui: Initialize Tcl's msgcat library for internationalization Tcl's msgcat library and corresponding mc procedure can locate a translated string for any user message, provided that it is first given a directory where the *.msg files are located containing the translations. During installation we will place the translations in lib/msgs/, so we need to inform msgcat of this location once we determine it during startup. Our source code tree however will store all of the translations within the po/ directory, so we need to special case this variant. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/git-gui.sh b/git-gui.sh index 4ea6e91b01..486d36ee19 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -51,8 +51,12 @@ set oguirel {@@GITGUI_RELATIVE@@} if {$oguirel eq {1}} { set oguilib [file dirname [file dirname [file normalize $argv0]]] set oguilib [file join $oguilib share git-gui lib] + set oguimsg [file join $oguilib msgs] } elseif {[string match @@* $oguirel]} { set oguilib [file join [file dirname [file normalize $argv0]] lib] + set oguimsg [file join [file dirname [file normalize $argv0]] po] +} else { + set oguimsg [file join $oguilib msgs] } unset oguirel @@ -74,6 +78,16 @@ if {![catch {set _verbose $env(GITGUI_VERBOSE)}]} { } } +###################################################################### +## +## Internationalization (i18n) through msgcat and gettext. See +## http://www.gnu.org/software/gettext/manual/html_node/Tcl.html + +package require msgcat +namespace import ::msgcat::mc +::msgcat::mcload $oguimsg +unset oguimsg + ###################################################################### ## ## read only globals From 1ac17950e93a956d01b042db3de70010195eddcc Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Sat, 21 Jul 2007 14:21:34 +0200 Subject: [PATCH 03/91] Mark strings for translation. The procedure [mc ...] will translate the strings through msgcat. Strings must be enclosed in quotes, not in braces, because otherwise xgettext cannot extract them properly, although on the Tcl side both delimiters would work fine. [jes: I merged the later patches to that end.] Signed-off-by: Christian Stimming Signed-off-by: Johannes Schindelin --- git-gui.sh | 257 ++++++++++++++++++----------------- lib/blame.tcl | 10 +- lib/branch_checkout.tcl | 16 +-- lib/branch_create.tcl | 38 +++--- lib/branch_delete.tcl | 22 ++- lib/branch_rename.tcl | 22 +-- lib/browser.tcl | 22 +-- lib/checkout_op.tcl | 48 +++---- lib/choose_rev.tcl | 16 +-- lib/commit.tcl | 52 +++---- lib/console.tcl | 14 +- lib/database.tcl | 28 ++-- lib/diff.tcl | 16 +-- lib/error.tcl | 8 +- lib/index.tcl | 23 +++- lib/merge.tcl | 60 ++++---- lib/option.tcl | 45 +++--- lib/remote.tcl | 6 +- lib/remote_branch_delete.tcl | 42 +++--- lib/shortcut.tcl | 12 +- lib/status_bar.tcl | 2 +- lib/transport.tcl | 30 ++-- 22 files changed, 397 insertions(+), 392 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 486d36ee19..913ba68101 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -502,7 +502,7 @@ proc tk_optionMenu {w varName args} { set _git [_which git] if {$_git eq {}} { catch {wm withdraw .} - error_popup "Cannot find git in PATH." + error_popup [mc "Cannot find git in PATH."] exit 1 } @@ -529,7 +529,7 @@ if {![regsub {^git version } $_git_version {} _git_version]} { -icon error \ -type ok \ -title "git-gui: fatal error" \ - -message "Cannot parse Git version string:\n\n$_git_version" + -message [append [mc "Cannot parse Git version string:"] "\n\n$_git_version"] exit 1 } @@ -546,14 +546,14 @@ if {![regexp {^[1-9]+(\.[0-9]+)+$} $_git_version]} { -type yesno \ -default no \ -title "[appname]: warning" \ - -message "Git version cannot be determined. + -message [mc "Git version cannot be determined. -$_git claims it is version '$_real_git_version'. +%s claims it is version '%s'. -[appname] requires at least Git 1.5.0 or later. +%s requires at least Git 1.5.0 or later. -Assume '$_real_git_version' is version 1.5.0? -"] eq {yes}} { +Assume '%s' is version 1.5.0? +" $_git $_real_git_version [appname] $_real_git_version]] eq {yes}} { set _git_version 1.5.0 } else { exit 1 @@ -711,7 +711,7 @@ if {[catch { set _prefix [git rev-parse --show-prefix] } err]} { catch {wm withdraw .} - error_popup "Cannot find the git directory:\n\n$err" + error_popup [append [mc "Cannot find the git directory:"] "\n\n$err"] exit 1 } if {![file isdirectory $_gitdir] && [is_Cygwin]} { @@ -719,7 +719,7 @@ if {![file isdirectory $_gitdir] && [is_Cygwin]} { } if {![file isdirectory $_gitdir]} { catch {wm withdraw .} - error_popup "Git directory not found:\n\n$_gitdir" + error_popup [append [mc "Git directory not found:"] "\n\n$_gitdir"] exit 1 } if {$_prefix ne {}} { @@ -733,12 +733,12 @@ if {$_prefix ne {}} { } elseif {![is_enabled bare]} { if {[lindex [file split $_gitdir] end] ne {.git}} { catch {wm withdraw .} - error_popup "Cannot use funny .git directory:\n\n$_gitdir" + error_popup [append [mc "Cannot use funny .git directory:"] "\n\n$_gitdir"] exit 1 } if {[catch {cd [file dirname $_gitdir]} err]} { catch {wm withdraw .} - error_popup "No working directory [file dirname $_gitdir]:\n\n$err" + error_popup [append [mc "No working directory"] " [file dirname $_gitdir]:\n\n$err"] exit 1 } } @@ -885,7 +885,7 @@ proc rescan {after {honor_trustmtime 1}} { rescan_stage2 {} $after } else { set rescan_active 1 - ui_status {Refreshing file status...} + ui_status [mc "Refreshing file status..."] set fd_rf [git_read update-index \ -q \ --unmerged \ @@ -922,7 +922,7 @@ proc rescan_stage2 {fd after} { set buf_rlo {} set rescan_active 3 - ui_status {Scanning for modified files ...} + ui_status [mc "Scanning for modified files ..."] set fd_di [git_read diff-index --cached -z [PARENT]] set fd_df [git_read diff-files -z] set fd_lo [eval git_read ls-files --others -z $ls_others] @@ -1088,7 +1088,7 @@ proc ui_status {msg} { } proc ui_ready {{test {}}} { - $::main_status show {Ready.} $test + $::main_status show [mc "Ready."] $test } proc escape_path {path} { @@ -1353,31 +1353,32 @@ set all_icons(O$ui_workdir) file_plain set max_status_desc 0 foreach i { - {__ "Unmodified"} + {__ {mc "Unmodified"}} - {_M "Modified, not staged"} - {M_ "Staged for commit"} - {MM "Portions staged for commit"} - {MD "Staged for commit, missing"} + {_M {mc "Modified, not staged"}} + {M_ {mc "Staged for commit"}} + {MM {mc "Portions staged for commit"}} + {MD {mc "Staged for commit, missing"}} - {_O "Untracked, not staged"} - {A_ "Staged for commit"} - {AM "Portions staged for commit"} - {AD "Staged for commit, missing"} + {_O {mc "Untracked, not staged"}} + {A_ {mc "Staged for commit"}} + {AM {mc "Portions staged for commit"}} + {AD {mc "Staged for commit, missing"}} - {_D "Missing"} - {D_ "Staged for removal"} - {DO "Staged for removal, still present"} + {_D {mc "Missing"}} + {D_ {mc "Staged for removal"}} + {DO {mc "Staged for removal, still present"}} - {U_ "Requires merge resolution"} - {UU "Requires merge resolution"} - {UM "Requires merge resolution"} - {UD "Requires merge resolution"} + {U_ {mc "Requires merge resolution"}} + {UU {mc "Requires merge resolution"}} + {UM {mc "Requires merge resolution"}} + {UD {mc "Requires merge resolution"}} } { - if {$max_status_desc < [string length [lindex $i 1]]} { - set max_status_desc [string length [lindex $i 1]] + set text [eval [lindex $i 1]] + if {$max_status_desc < [string length $text]} { + set max_status_desc [string length $text] } - set all_descs([lindex $i 0]) [lindex $i 1] + set all_descs([lindex $i 0]) $text } unset i @@ -1416,7 +1417,7 @@ proc incr_font_size {font {amt 1}} { ## ## ui commands -set starting_gitk_msg {Starting gitk... please wait...} +set starting_gitk_msg [mc "Starting gitk... please wait..."] proc do_gitk {revs} { # -- Always start gitk through whatever we were loaded with. This @@ -1425,7 +1426,7 @@ proc do_gitk {revs} { set exe [file join [file dirname $::_git] gitk] set cmd [list [info nameofexecutable] $exe] if {! [file exists $exe]} { - error_popup "Unable to start gitk:\n\n$exe does not exist" + error_popup [mc "Unable to start gitk:\n\n%s does not exist" $exe] } else { eval exec $cmd $revs & ui_status $::starting_gitk_msg @@ -1642,7 +1643,7 @@ proc apply_config {} { font configure $font $cn $cv } } err]} { - error_popup "Invalid font specified in gui.$name:\n\n$err" + error_popup [append [mc "Invalid font specified in gui.%s:" $name] "\n\n$err"] } foreach {cn cv} [font configure $font] { font configure ${font}bold $cn $cv @@ -1667,8 +1668,8 @@ set default_config(gui.newbranchtemplate) {} set default_config(gui.fontui) [font configure font_ui] set default_config(gui.fontdiff) [font configure font_diff] set font_descs { - {fontui font_ui {Main Font}} - {fontdiff font_diff {Diff/Console Font}} + {fontui font_ui {mc "Main Font"}} + {fontdiff font_diff {mc "Diff/Console Font"}} } load_config 0 apply_config @@ -1682,18 +1683,18 @@ set ui_comm {} # -- Menu Bar # menu .mbar -tearoff 0 -.mbar add cascade -label Repository -menu .mbar.repository -.mbar add cascade -label Edit -menu .mbar.edit +.mbar add cascade -label [mc Repository] -menu .mbar.repository +.mbar add cascade -label [mc Edit] -menu .mbar.edit if {[is_enabled branch]} { - .mbar add cascade -label Branch -menu .mbar.branch + .mbar add cascade -label [mc Branch] -menu .mbar.branch } if {[is_enabled multicommit] || [is_enabled singlecommit]} { - .mbar add cascade -label Commit -menu .mbar.commit + .mbar add cascade -label [mc Commit] -menu .mbar.commit } if {[is_enabled transport]} { - .mbar add cascade -label Merge -menu .mbar.merge - .mbar add cascade -label Fetch -menu .mbar.fetch - .mbar add cascade -label Push -menu .mbar.push + .mbar add cascade -label [mc Merge] -menu .mbar.merge + .mbar add cascade -label [mc Fetch] -menu .mbar.fetch + .mbar add cascade -label [mc Push] -menu .mbar.push } . configure -menu .mbar @@ -1702,87 +1703,87 @@ if {[is_enabled transport]} { menu .mbar.repository .mbar.repository add command \ - -label {Browse Current Branch's Files} \ + -label [mc "Browse Current Branch's Files"] \ -command {browser::new $current_branch} set ui_browse_current [.mbar.repository index last] .mbar.repository add command \ - -label {Browse Branch Files...} \ + -label [mc "Browse Branch Files..."] \ -command browser_open::dialog .mbar.repository add separator .mbar.repository add command \ - -label {Visualize Current Branch's History} \ + -label [mc "Visualize Current Branch's History"] \ -command {do_gitk $current_branch} set ui_visualize_current [.mbar.repository index last] .mbar.repository add command \ - -label {Visualize All Branch History} \ + -label [mc "Visualize All Branch History"] \ -command {do_gitk --all} .mbar.repository add separator proc current_branch_write {args} { global current_branch .mbar.repository entryconf $::ui_browse_current \ - -label "Browse $current_branch's Files" + -label [mc "Browse %s's Files" $current_branch] .mbar.repository entryconf $::ui_visualize_current \ - -label "Visualize $current_branch's History" + -label [mc "Visualize %s's History" $current_branch] } trace add variable current_branch write current_branch_write if {[is_enabled multicommit]} { - .mbar.repository add command -label {Database Statistics} \ + .mbar.repository add command -label [mc "Database Statistics"] \ -command do_stats - .mbar.repository add command -label {Compress Database} \ + .mbar.repository add command -label [mc "Compress Database"] \ -command do_gc - .mbar.repository add command -label {Verify Database} \ + .mbar.repository add command -label [mc "Verify Database"] \ -command do_fsck_objects .mbar.repository add separator if {[is_Cygwin]} { .mbar.repository add command \ - -label {Create Desktop Icon} \ + -label [mc "Create Desktop Icon"] \ -command do_cygwin_shortcut } elseif {[is_Windows]} { .mbar.repository add command \ - -label {Create Desktop Icon} \ + -label [mc "Create Desktop Icon"] \ -command do_windows_shortcut } elseif {[is_MacOSX]} { .mbar.repository add command \ - -label {Create Desktop Icon} \ + -label [mc "Create Desktop Icon"] \ -command do_macosx_app } } -.mbar.repository add command -label Quit \ +.mbar.repository add command -label [mc Quit] \ -command do_quit \ -accelerator $M1T-Q # -- Edit Menu # menu .mbar.edit -.mbar.edit add command -label Undo \ +.mbar.edit add command -label [mc Undo] \ -command {catch {[focus] edit undo}} \ -accelerator $M1T-Z -.mbar.edit add command -label Redo \ +.mbar.edit add command -label [mc Redo] \ -command {catch {[focus] edit redo}} \ -accelerator $M1T-Y .mbar.edit add separator -.mbar.edit add command -label Cut \ +.mbar.edit add command -label [mc Cut] \ -command {catch {tk_textCut [focus]}} \ -accelerator $M1T-X -.mbar.edit add command -label Copy \ +.mbar.edit add command -label [mc Copy] \ -command {catch {tk_textCopy [focus]}} \ -accelerator $M1T-C -.mbar.edit add command -label Paste \ +.mbar.edit add command -label [mc Paste] \ -command {catch {tk_textPaste [focus]; [focus] see insert}} \ -accelerator $M1T-V -.mbar.edit add command -label Delete \ +.mbar.edit add command -label [mc Delete] \ -command {catch {[focus] delete sel.first sel.last}} \ -accelerator Del .mbar.edit add separator -.mbar.edit add command -label {Select All} \ +.mbar.edit add command -label [mc "Select All"] \ -command {catch {[focus] tag add sel 0.0 end}} \ -accelerator $M1T-A @@ -1791,29 +1792,29 @@ menu .mbar.edit if {[is_enabled branch]} { menu .mbar.branch - .mbar.branch add command -label {Create...} \ + .mbar.branch add command -label [mc "Create..."] \ -command branch_create::dialog \ -accelerator $M1T-N lappend disable_on_lock [list .mbar.branch entryconf \ [.mbar.branch index last] -state] - .mbar.branch add command -label {Checkout...} \ + .mbar.branch add command -label [mc "Checkout..."] \ -command branch_checkout::dialog \ -accelerator $M1T-O lappend disable_on_lock [list .mbar.branch entryconf \ [.mbar.branch index last] -state] - .mbar.branch add command -label {Rename...} \ + .mbar.branch add command -label [mc "Rename..."] \ -command branch_rename::dialog lappend disable_on_lock [list .mbar.branch entryconf \ [.mbar.branch index last] -state] - .mbar.branch add command -label {Delete...} \ + .mbar.branch add command -label [mc "Delete..."] \ -command branch_delete::dialog lappend disable_on_lock [list .mbar.branch entryconf \ [.mbar.branch index last] -state] - .mbar.branch add command -label {Reset...} \ + .mbar.branch add command -label [mc "Reset..."] \ -command merge::reset_hard lappend disable_on_lock [list .mbar.branch entryconf \ [.mbar.branch index last] -state] @@ -1825,7 +1826,7 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} { menu .mbar.commit .mbar.commit add radiobutton \ - -label {New Commit} \ + -label [mc "New Commit"] \ -command do_select_commit_type \ -variable selected_commit_type \ -value new @@ -1833,7 +1834,7 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} { [list .mbar.commit entryconf [.mbar.commit index last] -state] .mbar.commit add radiobutton \ - -label {Amend Last Commit} \ + -label [mc "Amend Last Commit"] \ -command do_select_commit_type \ -variable selected_commit_type \ -value amend @@ -1842,40 +1843,40 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} { .mbar.commit add separator - .mbar.commit add command -label Rescan \ + .mbar.commit add command -label [mc Rescan] \ -command do_rescan \ -accelerator F5 lappend disable_on_lock \ [list .mbar.commit entryconf [.mbar.commit index last] -state] - .mbar.commit add command -label {Stage To Commit} \ + .mbar.commit add command -label [mc "Stage To Commit"] \ -command do_add_selection lappend disable_on_lock \ [list .mbar.commit entryconf [.mbar.commit index last] -state] - .mbar.commit add command -label {Stage Changed Files To Commit} \ + .mbar.commit add command -label [mc "Stage Changed Files To Commit"] \ -command do_add_all \ -accelerator $M1T-I lappend disable_on_lock \ [list .mbar.commit entryconf [.mbar.commit index last] -state] - .mbar.commit add command -label {Unstage From Commit} \ + .mbar.commit add command -label [mc "Unstage From Commit"] \ -command do_unstage_selection lappend disable_on_lock \ [list .mbar.commit entryconf [.mbar.commit index last] -state] - .mbar.commit add command -label {Revert Changes} \ + .mbar.commit add command -label [mc "Revert Changes"] \ -command do_revert_selection lappend disable_on_lock \ [list .mbar.commit entryconf [.mbar.commit index last] -state] .mbar.commit add separator - .mbar.commit add command -label {Sign Off} \ + .mbar.commit add command -label [mc "Sign Off"] \ -command do_signoff \ -accelerator $M1T-S - .mbar.commit add command -label Commit \ + .mbar.commit add command -label [mc Commit] \ -command do_commit \ -accelerator $M1T-Return lappend disable_on_lock \ @@ -1886,12 +1887,12 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} { # if {[is_enabled branch]} { menu .mbar.merge - .mbar.merge add command -label {Local Merge...} \ + .mbar.merge add command -label [mc "Local Merge..."] \ -command merge::dialog \ -accelerator $M1T-M lappend disable_on_lock \ [list .mbar.merge entryconf [.mbar.merge index last] -state] - .mbar.merge add command -label {Abort Merge...} \ + .mbar.merge add command -label [mc "Abort Merge..."] \ -command merge::reset_hard lappend disable_on_lock \ [list .mbar.merge entryconf [.mbar.merge index last] -state] @@ -1903,38 +1904,38 @@ if {[is_enabled transport]} { menu .mbar.fetch menu .mbar.push - .mbar.push add command -label {Push...} \ + .mbar.push add command -label [mc "Push..."] \ -command do_push_anywhere \ -accelerator $M1T-P - .mbar.push add command -label {Delete...} \ + .mbar.push add command -label [mc "Delete..."] \ -command remote_branch_delete::dialog } if {[is_MacOSX]} { # -- Apple Menu (Mac OS X only) # - .mbar add cascade -label Apple -menu .mbar.apple + .mbar add cascade -label [mc Apple] -menu .mbar.apple menu .mbar.apple - .mbar.apple add command -label "About [appname]" \ + .mbar.apple add command -label [mc "About %s" [appname]] \ -command do_about - .mbar.apple add command -label "Options..." \ + .mbar.apple add command -label [mc "Options..."] \ -command do_options } else { # -- Edit Menu # .mbar.edit add separator - .mbar.edit add command -label {Options...} \ + .mbar.edit add command -label [mc "Options..."] \ -command do_options } # -- Help Menu # -.mbar add cascade -label Help -menu .mbar.help +.mbar add cascade -label [mc Help] -menu .mbar.help menu .mbar.help if {![is_MacOSX]} { - .mbar.help add command -label "About [appname]" \ + .mbar.help add command -label [mc "About %s" [appname]] \ -command do_about } @@ -1971,7 +1972,7 @@ if {[file isfile $doc_path]} { } if {$browser ne {}} { - .mbar.help add command -label {Online Documentation} \ + .mbar.help add command -label [mc "Online Documentation"] \ -command [list exec $browser $doc_url &] } unset browser doc_path doc_url @@ -2093,7 +2094,7 @@ frame .branch \ -borderwidth 1 \ -relief sunken label .branch.l1 \ - -text {Current Branch:} \ + -text [mc "Current Branch:"] \ -anchor w \ -justify left label .branch.cb \ @@ -2114,7 +2115,7 @@ pack .vpane -anchor n -side top -fill both -expand 1 # -- Index File List # frame .vpane.files.index -height 100 -width 200 -label .vpane.files.index.title -text {Staged Changes (Will Be Committed)} \ +label .vpane.files.index.title -text [mc "Staged Changes (Will Be Committed)"] \ -background lightgreen text $ui_index -background white -borderwidth 0 \ -width 20 -height 10 \ @@ -2134,7 +2135,7 @@ pack $ui_index -side left -fill both -expand 1 # -- Working Directory File List # frame .vpane.files.workdir -height 100 -width 200 -label .vpane.files.workdir.title -text {Unstaged Changes (Will Not Be Committed)} \ +label .vpane.files.workdir.title -text [mc "Unstaged Changes (Will Not Be Committed)"] \ -background lightsalmon text $ui_workdir -background white -borderwidth 0 \ -width 20 -height 10 \ @@ -2175,29 +2176,29 @@ label .vpane.lower.commarea.buttons.l -text {} \ 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 {Rescan} \ +button .vpane.lower.commarea.buttons.rescan -text [mc Rescan] \ -command do_rescan pack .vpane.lower.commarea.buttons.rescan -side top -fill x lappend disable_on_lock \ {.vpane.lower.commarea.buttons.rescan conf -state} -button .vpane.lower.commarea.buttons.incall -text {Stage Changed} \ +button .vpane.lower.commarea.buttons.incall -text [mc "Stage Changed"] \ -command do_add_all pack .vpane.lower.commarea.buttons.incall -side top -fill x lappend disable_on_lock \ {.vpane.lower.commarea.buttons.incall conf -state} -button .vpane.lower.commarea.buttons.signoff -text {Sign Off} \ +button .vpane.lower.commarea.buttons.signoff -text [mc "Sign Off"] \ -command do_signoff pack .vpane.lower.commarea.buttons.signoff -side top -fill x -button .vpane.lower.commarea.buttons.commit -text {Commit} \ +button .vpane.lower.commarea.buttons.commit -text [mc Commit] \ -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 {Push} \ +button .vpane.lower.commarea.buttons.push -text [mc Push] \ -command do_push_anywhere pack .vpane.lower.commarea.buttons.push -side top -fill x @@ -2208,14 +2209,14 @@ 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 {New Commit} \ + -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 {Amend Last Commit} \ + -text [mc "Amend Last Commit"] \ -command do_select_commit_type \ -variable selected_commit_type \ -value amend @@ -2227,12 +2228,12 @@ label $ui_coml \ proc trace_commit_type {varname args} { global ui_coml commit_type switch -glob -- $commit_type { - initial {set txt {Initial Commit Message:}} - amend {set txt {Amended Commit Message:}} - amend-initial {set txt {Amended Initial Commit Message:}} - amend-merge {set txt {Amended Merge Commit Message:}} - merge {set txt {Merge Commit Message:}} - * {set txt {Commit Message:}} + initial {set txt [mc "Initial Commit Message:"]} + amend {set txt [mc "Amended Commit Message:"]} + amend-initial {set txt [mc "Amended Initial Commit Message:"]} + amend-merge {set txt [mc "Amended Merge Commit Message:"]} + merge {set txt [mc "Merge Commit Message:"]} + * {set txt [mc "Commit Message:"]} } $ui_coml conf -text $txt } @@ -2261,23 +2262,23 @@ pack .vpane.lower.commarea.buffer -side left -fill y set ctxm .vpane.lower.commarea.buffer.ctxm menu $ctxm -tearoff 0 $ctxm add command \ - -label {Cut} \ + -label [mc Cut] \ -command {tk_textCut $ui_comm} $ctxm add command \ - -label {Copy} \ + -label [mc Copy] \ -command {tk_textCopy $ui_comm} $ctxm add command \ - -label {Paste} \ + -label [mc Paste] \ -command {tk_textPaste $ui_comm} $ctxm add command \ - -label {Delete} \ + -label [mc Delete] \ -command {$ui_comm delete sel.first sel.last} $ctxm add separator $ctxm add command \ - -label {Select All} \ + -label [mc "Select All"] \ -command {focus $ui_comm;$ui_comm tag add sel 0.0 end} $ctxm add command \ - -label {Copy All} \ + -label [mc "Copy All"] \ -command { $ui_comm tag add sel 0.0 end tk_textCopy $ui_comm @@ -2285,7 +2286,7 @@ $ctxm add command \ } $ctxm add separator $ctxm add command \ - -label {Sign Off} \ + -label [mc "Sign Off"] \ -command do_signoff bind_button3 $ui_comm "tk_popup $ctxm %X %Y" @@ -2301,7 +2302,7 @@ proc trace_current_diff_path {varname args} { } else { set p $current_diff_path set s [mapdesc [lindex $file_states($p) 0] $p] - set f {File:} + set f [mc "File:"] set p [escape_path $p] set o normal } @@ -2335,7 +2336,7 @@ pack .vpane.lower.diff.header.path -fill x set ctxm .vpane.lower.diff.header.ctxm menu $ctxm -tearoff 0 $ctxm add command \ - -label {Copy} \ + -label [mc Copy] \ -command { clipboard clear clipboard append \ @@ -2403,19 +2404,19 @@ $ui_diff tag raise sel set ctxm .vpane.lower.diff.body.ctxm menu $ctxm -tearoff 0 $ctxm add command \ - -label {Refresh} \ + -label [mc Refresh] \ -command reshow_diff lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] $ctxm add command \ - -label {Copy} \ + -label [mc Copy] \ -command {tk_textCopy $ui_diff} lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] $ctxm add command \ - -label {Select All} \ + -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 {Copy All} \ + -label [mc "Copy All"] \ -command { $ui_diff tag add sel 0.0 end tk_textCopy $ui_diff @@ -2424,36 +2425,36 @@ $ctxm add command \ lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] $ctxm add separator $ctxm add command \ - -label {Apply/Reverse Hunk} \ + -label [mc "Apply/Reverse Hunk"] \ -command {apply_hunk $cursorX $cursorY} set ui_diff_applyhunk [$ctxm index last] lappend diff_actions [list $ctxm entryconf $ui_diff_applyhunk -state] $ctxm add separator $ctxm add command \ - -label {Decrease Font Size} \ + -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 {Increase Font Size} \ + -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 {Show Less Context} \ + -label [mc "Show Less Context"] \ -command {if {$repo_config(gui.diffcontext) >= 1} { incr repo_config(gui.diffcontext) -1 reshow_diff }} lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] $ctxm add command \ - -label {Show More Context} \ + -label [mc "Show More Context"] \ -command {if {$repo_config(gui.diffcontext) < 99} { incr repo_config(gui.diffcontext) reshow_diff }} lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state] $ctxm add separator -$ctxm add command -label {Options...} \ +$ctxm add command -label [mc "Options..."] \ -command do_options proc popup_diff_menu {ctxm x y X Y} { global current_diff_path file_states @@ -2461,7 +2462,7 @@ proc popup_diff_menu {ctxm x y X Y} { set ::cursorY $y if {$::ui_index eq $::current_diff_side} { set s normal - set l "Unstage Hunk From Commit" + set l [mc "Unstage Hunk From Commit"] } else { if {$current_diff_path eq {} || ![info exists file_states($current_diff_path)] @@ -2470,7 +2471,7 @@ proc popup_diff_menu {ctxm x y X Y} { } else { set s normal } - set l "Stage Hunk For Commit" + set l [mc "Stage Hunk For Commit"] } if {$::is_3way_diff} { set s disabled @@ -2484,7 +2485,7 @@ bind_button3 $ui_diff [list popup_diff_menu $ctxm %x %y %X %Y] # set main_status [::status_bar::new .status] pack .status -anchor w -side bottom -fill x -$main_status show {Initializing...} +$main_status show [mc "Initializing..."] # -- Load geometry # diff --git a/lib/blame.tcl b/lib/blame.tcl index 96072847a2..b5fdad5643 100644 --- a/lib/blame.tcl +++ b/lib/blame.tcl @@ -74,11 +74,11 @@ constructor new {i_commit i_path} { set path $i_path make_toplevel top w - wm title $top "[appname] ([reponame]): File Viewer" + wm title $top [append "[appname] ([reponame]): " [mc "File Viewer"]] frame $w.header -background gold label $w.header.commit_l \ - -text {Commit:} \ + -text [mc "Commit:"] \ -background gold \ -anchor w \ -justify left @@ -101,7 +101,7 @@ constructor new {i_commit i_path} { -anchor w \ -justify left label $w.header.path_l \ - -text {File:} \ + -text [mc "File:"] \ -background gold \ -anchor w \ -justify left @@ -246,7 +246,7 @@ constructor new {i_commit i_path} { menu $w.ctxm -tearoff 0 $w.ctxm add command \ - -label "Copy Commit" \ + -label [mc "Copy Commit"] \ -command [cb _copycommit] foreach i $w_columns { @@ -366,7 +366,7 @@ method _load {jump} { set amov_data [list [list]] set asim_data [list [list]] - $status show "Reading $commit:[escape_path $path]..." + $status show [mc "Reading %s..." "$commit:[escape_path $path]"] $w_path conf -text [escape_path $path] if {$commit eq {}} { set fd [open $path r] diff --git a/lib/branch_checkout.tcl b/lib/branch_checkout.tcl index 72c45b4554..6603703ea1 100644 --- a/lib/branch_checkout.tcl +++ b/lib/branch_checkout.tcl @@ -11,37 +11,37 @@ field opt_detach 0; # force a detached head case? constructor dialog {} { make_toplevel top w - wm title $top "[appname] ([reponame]): Checkout Branch" + wm title $top [append "[appname] ([reponame]): " [mc "Checkout Branch"]] if {$top ne {.}} { wm geometry $top "+[winfo rootx .]+[winfo rooty .]" } - label $w.header -text {Checkout Branch} -font font_uibold + label $w.header -text [mc "Checkout Branch"] -font font_uibold pack $w.header -side top -fill x frame $w.buttons - button $w.buttons.create -text Checkout \ + button $w.buttons.create -text [mc Checkout] \ -default active \ -command [cb _checkout] pack $w.buttons.create -side right - button $w.buttons.cancel -text {Cancel} \ + 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 - set w_rev [::choose_rev::new $w.rev {Revision}] + set w_rev [::choose_rev::new $w.rev [mc Revision]] $w_rev bind_listbox [cb _checkout] pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5 - labelframe $w.options -text {Options} + labelframe $w.options -text [mc Options] checkbutton $w.options.fetch \ - -text {Fetch Tracking Branch} \ + -text [mc "Fetch Tracking Branch"] \ -variable @opt_fetch pack $w.options.fetch -anchor nw checkbutton $w.options.detach \ - -text {Detach From Local Branch} \ + -text [mc "Detach From Local Branch"] \ -variable @opt_detach pack $w.options.detach -anchor nw diff --git a/lib/branch_create.tcl b/lib/branch_create.tcl index def615d19d..53dfb4ce6b 100644 --- a/lib/branch_create.tcl +++ b/lib/branch_create.tcl @@ -19,28 +19,28 @@ constructor dialog {} { global repo_config make_toplevel top w - wm title $top "[appname] ([reponame]): Create Branch" + wm title $top [append "[appname] ([reponame]): " [mc "Create Branch"]] if {$top ne {.}} { wm geometry $top "+[winfo rootx .]+[winfo rooty .]" } - label $w.header -text {Create New Branch} -font font_uibold + label $w.header -text [mc "Create New Branch"] -font font_uibold pack $w.header -side top -fill x frame $w.buttons - button $w.buttons.create -text Create \ + button $w.buttons.create -text [mc Create] \ -default active \ -command [cb _create] pack $w.buttons.create -side right - button $w.buttons.cancel -text {Cancel} \ + 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 {Branch Name} + labelframe $w.desc -text [mc "Branch Name"] radiobutton $w.desc.name_r \ -anchor w \ - -text {Name:} \ + -text [mc "Name:"] \ -value user \ -variable @name_type set w_name $w.desc.name_t @@ -55,7 +55,7 @@ constructor dialog {} { radiobutton $w.desc.match_r \ -anchor w \ - -text {Match Tracking Branch Name} \ + -text [mc "Match Tracking Branch Name"] \ -value match \ -variable @name_type grid $w.desc.match_r -sticky we -padx {0 5} -columnspan 2 @@ -63,38 +63,38 @@ constructor dialog {} { grid columnconfigure $w.desc 1 -weight 1 pack $w.desc -anchor nw -fill x -pady 5 -padx 5 - set w_rev [::choose_rev::new $w.rev {Starting Revision}] + set w_rev [::choose_rev::new $w.rev [mc "Starting Revision"]] pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5 - labelframe $w.options -text {Options} + labelframe $w.options -text [mc Options] frame $w.options.merge - label $w.options.merge.l -text {Update Existing Branch:} + label $w.options.merge.l -text [mc "Update Existing Branch:"] pack $w.options.merge.l -side left radiobutton $w.options.merge.no \ - -text No \ + -text [mc No] \ -value none \ -variable @opt_merge pack $w.options.merge.no -side left radiobutton $w.options.merge.ff \ - -text {Fast Forward Only} \ + -text [mc "Fast Forward Only"] \ -value ff \ -variable @opt_merge pack $w.options.merge.ff -side left radiobutton $w.options.merge.reset \ - -text {Reset} \ + -text [mc Reset] \ -value reset \ -variable @opt_merge pack $w.options.merge.reset -side left pack $w.options.merge -anchor nw checkbutton $w.options.fetch \ - -text {Fetch Tracking Branch} \ + -text [mc "Fetch Tracking Branch"] \ -variable @opt_fetch pack $w.options.fetch -anchor nw checkbutton $w.options.checkout \ - -text {Checkout After Creation} \ + -text [mc "Checkout After Creation"] \ -variable @opt_checkout pack $w.options.checkout -anchor nw pack $w.options -anchor nw -fill x -pady 5 -padx 5 @@ -128,7 +128,7 @@ method _create {} { -type ok \ -title [wm title $w] \ -parent $w \ - -message "Please select a tracking branch." + -message [mc "Please select a tracking branch."] return } if {![regsub ^refs/heads/ [lindex $spec 2] {} newbranch]} { @@ -137,7 +137,7 @@ method _create {} { -type ok \ -title [wm title $w] \ -parent $w \ - -message "Tracking branch [$w get] is not a branch in the remote repository." + -message [mc "Tracking branch %s is not a branch in the remote repository." [$w get]] return } } @@ -150,7 +150,7 @@ method _create {} { -type ok \ -title [wm title $w] \ -parent $w \ - -message "Please supply a branch name." + -message [mc "Please supply a branch name."] focus $w_name return } @@ -161,7 +161,7 @@ method _create {} { -type ok \ -title [wm title $w] \ -parent $w \ - -message "'$newbranch' is not an acceptable branch name." + -message [mc "'%s' is not an acceptable branch name." $newbranch] focus $w_name return } diff --git a/lib/branch_delete.tcl b/lib/branch_delete.tcl index c7573c6c72..86c4f73370 100644 --- a/lib/branch_delete.tcl +++ b/lib/branch_delete.tcl @@ -12,29 +12,29 @@ constructor dialog {} { global current_branch make_toplevel top w - wm title $top "[appname] ([reponame]): Delete Branch" + wm title $top [append "[appname] ([reponame]): " [mc "Delete Branch"]] if {$top ne {.}} { wm geometry $top "+[winfo rootx .]+[winfo rooty .]" } - label $w.header -text {Delete Local Branch} -font font_uibold + label $w.header -text [mc "Delete Local Branch"] -font font_uibold pack $w.header -side top -fill x frame $w.buttons set w_delete $w.buttons.delete button $w_delete \ - -text Delete \ + -text [mc Delete] \ -default active \ -state disabled \ -command [cb _delete] pack $w_delete -side right button $w.buttons.cancel \ - -text {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.list -text {Local Branches} + labelframe $w.list -text [mc "Local Branches"] set w_heads $w.list.l listbox $w_heads \ -height 10 \ @@ -49,9 +49,9 @@ constructor dialog {} { set w_check [choose_rev::new \ $w.check \ - {Delete Only If Merged Into} \ + [mc "Delete Only If Merged Into"] \ ] - $w_check none {Always (Do not perform merge test.)} + $w_check none [mc "Always (Do not perform merge test.)"] pack $w.check -anchor nw -fill x -pady 5 -padx 5 foreach h [load_all_heads] { @@ -100,7 +100,7 @@ method _delete {} { lappend to_delete [list $b $o] } if {$not_merged ne {}} { - set msg "The following branches are not completely merged into [$w_check get]: + set msg "[mc "The following branches are not completely merged into %s:" [$w_check get]] - [join $not_merged "\n - "]" tk_messageBox \ @@ -112,9 +112,7 @@ method _delete {} { } if {$to_delete eq {}} return if {$check_cmt eq {}} { - set msg {Recovering deleted branches is difficult. - -Delete the selected branches?} + set msg [mc "Recovering deleted branches is difficult. \n\n Delete the selected branches?"] if {[tk_messageBox \ -icon warning \ -type yesno \ @@ -140,7 +138,7 @@ Delete the selected branches?} -type ok \ -title [wm title $w] \ -parent $w \ - -message "Failed to delete branches:\n$failed" + -message [mc "Failed to delete branches:\n%s" $failed] } destroy $w diff --git a/lib/branch_rename.tcl b/lib/branch_rename.tcl index 1cadc31d20..d6f040e7a2 100644 --- a/lib/branch_rename.tcl +++ b/lib/branch_rename.tcl @@ -11,7 +11,7 @@ constructor dialog {} { global current_branch make_toplevel top w - wm title $top "[appname] ([reponame]): Rename Branch" + wm title $top [append "[appname] ([reponame]): " [mc "Rename Branch"]] if {$top ne {.}} { wm geometry $top "+[winfo rootx .]+[winfo rooty .]" } @@ -19,24 +19,24 @@ constructor dialog {} { set oldname $current_branch set newname [get_config gui.newbranchtemplate] - label $w.header -text {Rename Branch} -font font_uibold + label $w.header -text [mc "Rename Branch"] -font font_uibold pack $w.header -side top -fill x frame $w.buttons - button $w.buttons.rename -text Rename \ + button $w.buttons.rename -text [mc Rename] \ -default active \ -command [cb _rename] pack $w.buttons.rename -side right - button $w.buttons.cancel -text {Cancel} \ + 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.rename - label $w.rename.oldname_l -text {Branch:} + label $w.rename.oldname_l -text [mc "Branch:"] eval tk_optionMenu $w.rename.oldname_m @oldname [load_all_heads] - label $w.rename.newname_l -text {New Name:} + label $w.rename.newname_l -text [mc "New Name:"] entry $w.rename.newname_t \ -borderwidth 1 \ -relief sunken \ @@ -72,7 +72,7 @@ method _rename {} { -type ok \ -title [wm title $w] \ -parent $w \ - -message "Please select a branch to rename." + -message [mc "Please select a branch to rename."] focus $w.rename.oldname_m return } @@ -83,7 +83,7 @@ method _rename {} { -type ok \ -title [wm title $w] \ -parent $w \ - -message "Please supply a branch name." + -message [mc "Please supply a branch name."] focus $w.rename.newname_t return } @@ -93,7 +93,7 @@ method _rename {} { -type ok \ -title [wm title $w] \ -parent $w \ - -message "Branch '$newname' already exists." + -message [mc "Branch '%s' already exists." $newname] focus $w.rename.newname_t return } @@ -103,7 +103,7 @@ method _rename {} { -type ok \ -title [wm title $w] \ -parent $w \ - -message "We do not like '$newname' as a branch name." + -message [mc "'%s' is not an acceptable branch name." $newname] focus $w.rename.newname_t return } @@ -114,7 +114,7 @@ method _rename {} { -type ok \ -title [wm title $w] \ -parent $w \ - -message "Failed to rename '$oldname'.\n\n$err" + -message [append [mc "Failed to rename '%s'." $oldname] "\n\n$err"] return } diff --git a/lib/browser.tcl b/lib/browser.tcl index 888db3c889..987622933c 100644 --- a/lib/browser.tcl +++ b/lib/browser.tcl @@ -14,7 +14,7 @@ field w field browser_commit field browser_path field browser_files {} -field browser_status {Starting...} +field browser_status [mc "Starting..."] field browser_stack {} field browser_busy 1 @@ -23,7 +23,7 @@ field ls_buf {}; # Buffered record output from ls-tree constructor new {commit {path {}}} { global cursor_ptr M1B make_toplevel top w - wm title $top "[appname] ([reponame]): File Browser" + wm title $top [append "[appname] ([reponame]): " [mc "File Browser"]] set browser_commit $commit set browser_path $browser_commit:$path @@ -124,7 +124,7 @@ method _parent {} { } else { regsub {/[^/]+$} $browser_path {} browser_path } - set browser_status "Loading $browser_path..." + set browser_status [mc "Loading %s..." $browser_path] _ls $this [lindex $parent 0] [lindex $parent 1] } } @@ -141,7 +141,7 @@ method _enter {} { tree { set name [lindex $info 2] set escn [escape_path $name] - set browser_status "Loading $escn..." + set browser_status [mc "Loading %s..." $escn] append browser_path $escn _ls $this [lindex $info 1] $name } @@ -185,7 +185,7 @@ method _ls {tree_id {name {}}} { -align center -padx 5 -pady 1 \ -name icon0 \ -image ::browser::img_parent - $w insert end {[Up To Parent]} + $w insert end [mc "\[Up To Parent\]"] lappend browser_files parent } lappend browser_stack [list $tree_id $name] @@ -244,7 +244,7 @@ method _read {fd} { if {[eof $fd]} { close $fd - set browser_status Ready. + set browser_status [mc "Ready."] set browser_busy 0 set ls_buf {} if {$n > 0} { @@ -265,27 +265,27 @@ field w_rev ; # mega-widget to pick the initial revision constructor dialog {} { make_toplevel top w - wm title $top "[appname] ([reponame]): Browse Branch Files" + wm title $top [append "[appname] ([reponame]): " [mc "Browse Branch Files"]] if {$top ne {.}} { wm geometry $top "+[winfo rootx .]+[winfo rooty .]" } label $w.header \ - -text {Browse Branch Files} \ + -text [mc "Browse Branch Files"] \ -font font_uibold pack $w.header -side top -fill x frame $w.buttons - button $w.buttons.browse -text Browse \ + button $w.buttons.browse -text [mc Browse] \ -default active \ -command [cb _open] pack $w.buttons.browse -side right - button $w.buttons.cancel -text {Cancel} \ + 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 - set w_rev [::choose_rev::new $w.rev {Revision}] + set w_rev [::choose_rev::new $w.rev [mc Revision]] $w_rev bind_listbox [cb _open] pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5 diff --git a/lib/checkout_op.tcl b/lib/checkout_op.tcl index 170f737f61..b98c9cbcd8 100644 --- a/lib/checkout_op.tcl +++ b/lib/checkout_op.tcl @@ -76,7 +76,7 @@ method run {} { _toplevel $this {Refreshing Tracking Branch} set w_cons [::console::embed \ $w.console \ - "Fetching $r_name from $remote"] + [mc "Fetching %s from %s" $r_name $remote]] pack $w.console -fill both -expand 1 $w_cons exec $cmd [cb _finish_fetch] @@ -137,7 +137,7 @@ method _finish_fetch {ok} { destroy $w set w {} } else { - button $w.close -text Close -command [list destroy $w] + button $w.close -text [mc Close] -command [list destroy $w] pack $w.close -side bottom -anchor e -padx 10 -pady 10 } @@ -166,7 +166,7 @@ method _update_ref {} { # Assume it does not exist, and that is what the error was. # if {!$create} { - _error $this "Branch '$newbranch' does not exist." + _error $this [mc "Branch '%s' does not exist." $newbranch] return 0 } @@ -176,7 +176,7 @@ method _update_ref {} { # We were told to create it, but not do a merge. # Bad. Name shouldn't have existed. # - _error $this "Branch '$newbranch' already exists." + _error $this [mc "Branch '%s' already exists." $newbranch] return 0 } elseif {!$create && $merge_type eq {none}} { # We aren't creating, it exists and we don't merge. @@ -203,7 +203,7 @@ method _update_ref {} { set new $cur set new_hash $cur } else { - _error $this "Branch '$newbranch' already exists.\n\nIt cannot fast-forward to $new_expr.\nA merge is required." + _error $this [mc "Branch '%s' already exists.\n\nIt cannot fast-forward to %s.\nA merge is required." $newbranch $new_expr] return 0 } } @@ -217,7 +217,7 @@ method _update_ref {} { } } default { - _error $this "Merge strategy '$merge_type' not supported." + _error $this [mc "Merge strategy '%s' not supported." $merge_type] return 0 } } @@ -236,7 +236,7 @@ method _update_ref {} { if {[catch { git update-ref -m $reflog_msg $ref $new $cur } err]} { - _error $this "Failed to update '$newbranch'.\n\n$err" + _error $this [append [mc "Failed to update '%s'." $newbranch] "\n\n$err"] return 0 } } @@ -248,7 +248,7 @@ method _checkout {} { if {[lock_index checkout_op]} { after idle [cb _start_checkout] } else { - _error $this "Staging area (index) is already locked." + _error $this [mc "Staging area (index) is already locked."] delete_this } } @@ -263,12 +263,12 @@ method _start_checkout {} { && $curType eq {normal} && $curHEAD eq $HEAD} { } elseif {$commit_type ne $curType || $HEAD ne $curHEAD} { - info_popup {Last scanned state does not match repository state. + 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. The rescan will be automatically started now. -} +"] unlock_index rescan ui_ready delete_this @@ -350,12 +350,12 @@ method _readtree_wait {fd} { if {[catch {close $fd}]} { set err $readtree_d regsub {^fatal: } $err {} err - $::main_status stop "Aborted checkout of '[_name $this]' (file level merging is required)." - warn_popup "File level merge required. + $::main_status stop [mc "Aborted checkout of '%s' (file level merging is required)." [_name $this]] + warn_popup [append [mc "File level merge required."] " $err -Staying on branch '$current_branch'." +" [mc "Staying on branch '%s'." $current_branch]] unlock_index delete_this return @@ -426,9 +426,9 @@ method _after_readtree {} { } if {$is_detached} { - info_popup "You are no longer on a local branch. + info_popup [mc "You are no longer on a local branch. -If you wanted to be on a branch, create one now starting from 'This Detached Checkout'." +If you wanted to be on a branch, create one now starting from 'This Detached Checkout'."] } # -- Update our repository state. If we were previously in @@ -475,7 +475,7 @@ method _confirm_reset {cur} { pack [label $w.msg1 \ -anchor w \ -justify left \ - -text "Resetting '$name' to $new_expr will lose the following commits:" \ + -text [mc "Resetting '%s' to '%s' will lose the following commits:" $name $new_expr]\ ] -anchor w set list $w.list.l @@ -497,21 +497,21 @@ method _confirm_reset {cur} { pack [label $w.msg2 \ -anchor w \ -justify left \ - -text {Recovering lost commits may not be easy.} \ + -text [mc "Recovering lost commits may not be easy."] \ ] pack [label $w.msg3 \ -anchor w \ -justify left \ - -text "Reset '$name'?" \ + -text [mc "Reset '%s'?" $name] \ ] frame $w.buttons button $w.buttons.visualize \ - -text Visualize \ + -text [mc Visualize] \ -command $gitk pack $w.buttons.visualize -side left button $w.buttons.reset \ - -text Reset \ + -text [mc Reset] \ -command " set @reset_ok 1 destroy $w @@ -519,7 +519,7 @@ method _confirm_reset {cur} { pack $w.buttons.reset -side right button $w.buttons.cancel \ -default active \ - -text 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 @@ -575,13 +575,13 @@ method _toplevel {title} { } method _fatal {err} { - error_popup "Failed to set current branch. + error_popup [append [mc "Failed to set current branch. This working directory is only partially switched. We successfully updated your files, but failed to update an internal Git file. -This should not have occurred. [appname] will now close and give up. +This should not have occurred. %s will now close and give up." [appname]] " -$err" +$err"] exit 1 } diff --git a/lib/choose_rev.tcl b/lib/choose_rev.tcl index ec064b3e13..a58b752cdd 100644 --- a/lib/choose_rev.tcl +++ b/lib/choose_rev.tcl @@ -50,14 +50,14 @@ constructor _new {path unmerged_only title} { if {$is_detached} { radiobutton $w.detachedhead_r \ -anchor w \ - -text {This Detached Checkout} \ + -text [mc "This Detached Checkout"] \ -value HEAD \ -variable @revtype grid $w.detachedhead_r -sticky we -padx {0 5} -columnspan 2 } radiobutton $w.expr_r \ - -text {Revision Expression:} \ + -text [mc "Revision Expression:"] \ -value expr \ -variable @revtype entry $w.expr_t \ @@ -71,17 +71,17 @@ constructor _new {path unmerged_only title} { frame $w.types radiobutton $w.types.head_r \ - -text {Local Branch} \ + -text [mc "Local Branch"] \ -value head \ -variable @revtype pack $w.types.head_r -side left radiobutton $w.types.trck_r \ - -text {Tracking Branch} \ + -text [mc "Tracking Branch"] \ -value trck \ -variable @revtype pack $w.types.trck_r -side left radiobutton $w.types.tag_r \ - -text {Tag} \ + -text [mc "Tag"] \ -value tag \ -variable @revtype pack $w.types.tag_r -side left @@ -314,7 +314,7 @@ method commit_or_die {} { } set top [winfo toplevel $w] - set msg "Invalid revision: [get $this]\n\n$err" + set msg [append [mc "Invalid revision: %s" [get $this]] "\n\n$err"] tk_messageBox \ -icon error \ -type ok \ @@ -335,7 +335,7 @@ method _expr {} { if {$i ne {}} { return [lindex $cur_specs $i 1] } else { - error "No revision selected." + error [mc "No revision selected."] } } @@ -343,7 +343,7 @@ method _expr {} { if {$c_expr ne {}} { return $c_expr } else { - error "Revision expression is empty." + error [mc "Revision expression is empty."] } } HEAD { return HEAD } diff --git a/lib/commit.tcl b/lib/commit.tcl index f857a2ff5b..15489c616b 100644 --- a/lib/commit.tcl +++ b/lib/commit.tcl @@ -6,19 +6,19 @@ proc load_last_commit {} { global repo_config if {[llength $PARENT] == 0} { - error_popup {There is nothing to amend. + error_popup [mc "There is nothing to amend. You are about to create the initial commit. There is no commit before this to amend. -} +"] return } repository_state curType curHEAD curMERGE_HEAD if {$curType eq {merge}} { - error_popup {Cannot amend while merging. + error_popup [mc "Cannot amend while merging. You are currently in the middle of a merge that has not been fully completed. You cannot amend the prior commit unless you first abort the current merge activity. -} +"] return } @@ -46,7 +46,7 @@ You are currently in the middle of a merge that has not been fully completed. Y } set msg [string trim $msg] } err]} { - error_popup "Error loading commit data for amend:\n\n$err" + error_popup [append [mc "Error loading commit data for amend:"] "\n\n$err"] return } @@ -73,12 +73,12 @@ proc committer_ident {} { if {$GIT_COMMITTER_IDENT eq {}} { if {[catch {set me [git var GIT_COMMITTER_IDENT]} err]} { - error_popup "Unable to obtain your identity:\n\n$err" + error_popup [append [mc "Unable to obtain your identity:"] "\n\n$err"] return {} } if {![regexp {^(.*) [0-9]+ [-+0-9]+$} \ $me me GIT_COMMITTER_IDENT]} { - error_popup "Invalid GIT_COMMITTER_IDENT:\n\n$me" + error_popup [append [mc "Invalid GIT_COMMITTER_IDENT:"] "\n\n$me"] return {} } } @@ -130,12 +130,12 @@ proc commit_tree {} { && $curType eq {normal} && $curHEAD eq $HEAD} { } elseif {$commit_type ne $curType || $HEAD ne $curHEAD} { - info_popup {Last scanned state does not match repository state. + info_popup [mc "Last scanned state does not match repository state. Another Git program has modified this repository since the last scan. A rescan must be performed before another commit can be created. The rescan will be automatically started now. -} +"] unlock_index rescan ui_ready return @@ -151,26 +151,26 @@ The rescan will be automatically started now. D? - M? {set files_ready 1} U? { - error_popup "Unmerged files cannot be committed. + error_popup [mc "Unmerged files cannot be committed. -File [short_path $path] has merge conflicts. You must resolve them and stage the file before committing. -" +File %s has merge conflicts. You must resolve them and stage the file before committing. +" [short_path $path]] unlock_index return } default { - error_popup "Unknown file state [lindex $s 0] detected. + error_popup [mc "Unknown file state %s detected. -File [short_path $path] cannot be committed by this program. -" +File %s cannot be committed by this program. +" [lindex $s 0] [short_path $path]] } } } if {!$files_ready && ![string match *merge $curType]} { - info_popup {No changes to commit. + info_popup [mc "No changes to commit. You must stage at least 1 file before you can commit. -} +"] unlock_index return } @@ -180,14 +180,14 @@ You must stage at least 1 file before you can commit. set msg [string trim [$ui_comm get 1.0 end]] regsub -all -line {[ \t\r]+$} $msg {} msg if {$msg eq {}} { - error_popup {Please supply a commit message. + error_popup [mc "Please supply a commit message. A good commit message has the following format: - First line: Describe in one sentance what you did. - Second line: Blank - Remaining lines: Describe why this change is good. -} +"] unlock_index return } @@ -254,7 +254,7 @@ proc commit_committree {fd_wt curHEAD msg} { gets $fd_wt tree_id if {$tree_id eq {} || [catch {close $fd_wt} err]} { - error_popup "write-tree failed:\n\n$err" + error_popup [append [mc "write-tree failed:"] "\n\n$err"] ui_status {Commit failed.} unlock_index return @@ -276,14 +276,14 @@ proc commit_committree {fd_wt curHEAD msg} { } if {$tree_id eq $old_tree} { - info_popup {No changes to commit. + info_popup [mc "No changes to commit. No files were modified by this commit and it was not a merge commit. A rescan will be automatically started now. -} +"] unlock_index - rescan {ui_status {No changes to commit.}} + rescan {ui_status [mc "No changes to commit."]} return } } @@ -314,7 +314,7 @@ A rescan will be automatically started now. } lappend cmd <$msg_p if {[catch {set cmt_id [eval git $cmd]} err]} { - error_popup "commit-tree failed:\n\n$err" + error_popup [append [mc "commit-tree failed:"] "\n\n$err"] ui_status {Commit failed.} unlock_index return @@ -336,7 +336,7 @@ A rescan will be automatically started now. if {[catch { git update-ref -m $reflogm HEAD $cmt_id $curHEAD } err]} { - error_popup "update-ref failed:\n\n$err" + error_popup [append [mc "update-ref failed:"] "\n\n$err"] ui_status {Commit failed.} unlock_index return @@ -427,5 +427,5 @@ A rescan will be automatically started now. display_all_files unlock_index reshow_diff - ui_status "Created commit [string range $cmt_id 0 7]: $subject" + ui_status [mc "Created commit %s: %s" [string range $cmt_id 0 7] $subject] } diff --git a/lib/console.tcl b/lib/console.tcl index 6f718fbac3..e5f9ba429b 100644 --- a/lib/console.tcl +++ b/lib/console.tcl @@ -52,7 +52,7 @@ method _init {} { -state disabled \ -xscrollcommand [list $w.m.sbx set] \ -yscrollcommand [list $w.m.sby set] - label $w.m.s -text {Working... please wait...} \ + label $w.m.s -text [mc "Working... please wait..."] \ -anchor w \ -justify left \ -font font_uibold @@ -66,11 +66,11 @@ method _init {} { pack $w.m -side top -fill both -expand 1 -padx 5 -pady 10 menu $w.ctxm -tearoff 0 - $w.ctxm add command -label "Copy" \ + $w.ctxm add command -label [mc "Copy"] \ -command "tk_textCopy $w.m.t" - $w.ctxm add command -label "Select All" \ + $w.ctxm add command -label [mc "Select All"] \ -command "focus $w.m.t;$w.m.t tag add sel 0.0 end" - $w.ctxm add command -label "Copy All" \ + $w.ctxm add command -label [mc "Copy All"] \ -command " $w.m.t tag add sel 0.0 end tk_textCopy $w.m.t @@ -78,7 +78,7 @@ method _init {} { " if {$is_toplevel} { - button $w.ok -text {Close} \ + button $w.ok -text [mc "Close"] \ -state disabled \ -command [list destroy $w] pack $w.ok -side bottom -anchor e -pady 10 -padx 10 @@ -181,7 +181,7 @@ method insert {txt} { method done {ok} { if {$ok} { if {[winfo exists $w.m.s]} { - $w.m.s conf -background green -text {Success} + $w.m.s conf -background green -text [mc "Success"] if {$is_toplevel} { $w.ok conf -state normal focus $w.ok @@ -191,7 +191,7 @@ method done {ok} { if {![winfo exists $w.m.s]} { _init $this } - $w.m.s conf -background red -text {Error: Command Failed} + $w.m.s conf -background red -text [mc "Error: Command Failed"] if {$is_toplevel} { $w.ok conf -state normal focus $w.ok diff --git a/lib/database.tcl b/lib/database.tcl index 0657cc2245..118b1b29ab 100644 --- a/lib/database.tcl +++ b/lib/database.tcl @@ -24,14 +24,14 @@ proc do_stats {} { toplevel $w wm geometry $w "+[winfo rootx .]+[winfo rooty .]" - label $w.header -text {Database Statistics} + label $w.header -text [mc "Database Statistics"] pack $w.header -side top -fill x frame $w.buttons -border 1 - button $w.buttons.close -text Close \ + button $w.buttons.close -text [mc Close] \ -default active \ -command [list destroy $w] - button $w.buttons.gc -text {Compress Database} \ + button $w.buttons.gc -text [mc "Compress Database"] \ -default normal \ -command "destroy $w;do_gc" pack $w.buttons.close -side right @@ -40,16 +40,16 @@ proc do_stats {} { frame $w.stat -borderwidth 1 -relief solid foreach s { - {count {Number of loose objects}} - {size {Disk space used by loose objects} { KiB}} - {in-pack {Number of packed objects}} - {packs {Number of packs}} - {size-pack {Disk space used by packed objects} { KiB}} - {prune-packable {Packed objects waiting for pruning}} - {garbage {Garbage files}} + {count {mc "Number of loose objects"}} + {size {mc "Disk space used by loose objects"} { KiB}} + {in-pack {mc "Number of packed objects"}} + {packs {mc "Number of packs"}} + {size-pack {mc "Disk space used by packed objects"} { KiB}} + {prune-packable {mc "Packed objects waiting for pruning"}} + {garbage {mc "Garbage files"}} } { set name [lindex $s 0] - set label [lindex $s 1] + set label [eval [lindex $s 1]] if {[catch {set value $stats($name)}]} continue if {[llength $s] > 2} { set value "$value[lindex $s 2]" @@ -64,12 +64,12 @@ proc do_stats {} { bind $w "grab $w; focus $w.buttons.close" bind $w [list destroy $w] bind $w [list destroy $w] - wm title $w "[appname] ([reponame]): Database Statistics" + wm title $w [append "[appname] ([reponame]): " [mc "Database Statistics"]] tkwait window $w } proc do_gc {} { - set w [console::new {gc} {Compressing the object database}] + set w [console::new {gc} [mc "Compressing the object database"]] console::chain $w { {exec git pack-refs --prune} {exec git reflog expire --all} @@ -80,7 +80,7 @@ proc do_gc {} { proc do_fsck_objects {} { set w [console::new {fsck-objects} \ - {Verifying the object database with fsck-objects}] + [mc "Verifying the object database with fsck-objects"]] set cmd [list git fsck-objects] lappend cmd --full lappend cmd --cache diff --git a/lib/diff.tcl b/lib/diff.tcl index e09e1257e1..b1129d551b 100644 --- a/lib/diff.tcl +++ b/lib/diff.tcl @@ -39,13 +39,13 @@ proc handle_empty_diff {} { set s $file_states($path) if {[lindex $s 0] ne {_M}} return - info_popup "No differences detected. + info_popup [mc "No differences detected. -[short_path $path] has no changes. +%s has no changes. The modification date of this file was updated by another application, but the content within the file was not changed. -A rescan will be automatically started to find other files which may have the same state." +A rescan will be automatically started to find other files which may have the same state." [short_path $path]] clear_diff display_file $path __ @@ -94,7 +94,7 @@ proc show_diff {path w {lno {}}} { set diff_active 0 unlock_index ui_status "Unable to display [escape_path $path]" - error_popup "Error loading file:\n\n$err" + error_popup [append [mc "Error loading file:"] "\n\n$err"] return } $ui_diff conf -state normal @@ -159,7 +159,7 @@ proc show_diff {path w {lno {}}} { set diff_active 0 unlock_index ui_status "Unable to display [escape_path $path]" - error_popup "Error loading diff:\n\n$err" + error_popup [append [mc "Error loading diff:"] "\n\n$err"] return } @@ -275,14 +275,14 @@ proc apply_hunk {x y} { set apply_cmd {apply --cached --whitespace=nowarn} set mi [lindex $file_states($current_diff_path) 0] if {$current_diff_side eq $ui_index} { - set mode unstage + set failed_msg [mc "Failed to unstage selected hunk."] lappend apply_cmd --reverse if {[string index $mi 0] ne {M}} { unlock_index return } } else { - set mode stage + set failed_msg [mc "Failed to stage selected hunk."] if {[string index $mi 1] ne {M}} { unlock_index return @@ -307,7 +307,7 @@ proc apply_hunk {x y} { puts -nonewline $p $current_diff_header puts -nonewline $p [$ui_diff get $s_lno $e_lno] close $p} err]} { - error_popup "Failed to $mode selected hunk.\n\n$err" + error_popup [append $failed_msg "\n\n$err"] unlock_index return } diff --git a/lib/error.tcl b/lib/error.tcl index 16a22187b2..13565b7ab0 100644 --- a/lib/error.tcl +++ b/lib/error.tcl @@ -9,7 +9,7 @@ proc error_popup {msg} { set cmd [list tk_messageBox \ -icon error \ -type ok \ - -title "$title: error" \ + -title [append "$title: " [mc "error"]] \ -message $msg] if {[winfo ismapped .]} { lappend cmd -parent . @@ -25,7 +25,7 @@ proc warn_popup {msg} { set cmd [list tk_messageBox \ -icon warning \ -type ok \ - -title "$title: warning" \ + -title [append "$title: " [mc "warning"]] \ -message $msg] if {[winfo ismapped .]} { lappend cmd -parent . @@ -78,7 +78,7 @@ proc hook_failed_popup {hook msg} { -font font_diff \ -yscrollcommand [list $w.m.sby set] label $w.m.l2 \ - -text {You must correct the above errors before committing.} \ + -text [mc "You must correct the above errors before committing."] \ -anchor w \ -justify left \ -font font_uibold @@ -99,6 +99,6 @@ proc hook_failed_popup {hook msg} { bind $w "grab $w; focus $w" bind $w "destroy $w" - wm title $w "[appname] ([reponame]): error" + wm title $w [append "[appname] ([reponame]): " [mc "error"]] tkwait window $w } diff --git a/lib/index.tcl b/lib/index.tcl index f47f9290c8..b3f5e17d1f 100644 --- a/lib/index.tcl +++ b/lib/index.tcl @@ -345,26 +345,35 @@ proc revert_helper {txt paths} { } } + + # Split question between singular and plural cases, because + # such distinction is needed in some languages. Previously, the + # code used "Revert changes in" for both, but that can't work + # in languages where 'in' must be combined with word from + # rest of string (in diffrent way for both cases of course). + # + # FIXME: Unfortunately, even that isn't enough in some languages + # as they have quite complex plural-form rules. Unfortunately, + # msgcat doesn't seem to support that kind of string translation. + # set n [llength $pathList] if {$n == 0} { unlock_index return } elseif {$n == 1} { - set s "[short_path [lindex $pathList]]" + set query [mc "Revert changes in file %s?" [short_path [lindex $pathList]]] } else { - set s "these $n files" + set query [mc "Revert changes in these %i files?" $n] } set reply [tk_dialog \ .confirm_revert \ "[appname] ([reponame])" \ - "Revert changes in $s? - -Any unstaged changes will be permanently lost by the revert." \ + [mc "Any unstaged changes will be permanently lost by the revert."] \ question \ 1 \ - {Do Nothing} \ - {Revert Changes} \ + [mc "Do Nothing"] \ + [mc "Revert Changes"] \ ] if {$reply == 1} { checkout_index \ diff --git a/lib/merge.tcl b/lib/merge.tcl index 0e50919d4c..63e14279c1 100644 --- a/lib/merge.tcl +++ b/lib/merge.tcl @@ -10,10 +10,10 @@ method _can_merge {} { global HEAD commit_type file_states if {[string match amend* $commit_type]} { - info_popup {Cannot merge while amending. + info_popup [mc "Cannot merge while amending. You must finish amending this commit before starting any type of merge. -} +"] return 0 } @@ -24,12 +24,12 @@ You must finish amending this commit before starting any type of merge. # repository_state curType curHEAD curMERGE_HEAD if {$commit_type ne $curType || $HEAD ne $curHEAD} { - info_popup {Last scanned state does not match repository state. + 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 a merge can be performed. The rescan will be automatically started now. -} +"] unlock_index rescan ui_ready return 0 @@ -41,22 +41,22 @@ The rescan will be automatically started now. continue; # and pray it works! } U? { - error_popup "You are in the middle of a conflicted merge. + error_popup [mc "You are in the middle of a conflicted merge. -File [short_path $path] has merge conflicts. +File %s has merge conflicts. You must resolve them, stage the file, and commit to complete the current merge. Only then can you begin another merge. -" +" [short_path $path]] unlock_index return 0 } ?? { - error_popup "You are in the middle of a change. + error_popup [mc "You are in the middle of a change. -File [short_path $path] is modified. +File %s is modified. You should complete the current commit before starting a merge. Doing so will help you abort a failed merge, should the need arise. -" +" [short_path $path]] unlock_index return 0 } @@ -103,7 +103,7 @@ method _start {} { regsub {^[^:@]*@} $remote {} remote } set branch [lindex $spec 2] - set stitle "$branch of $remote" + set stitle [mc "%s of %s" $branch $remote] } regsub ^refs/heads/ $branch {} branch puts $fh "$cmit\t\tbranch '$branch' of $remote" @@ -116,9 +116,9 @@ method _start {} { lappend cmd HEAD lappend cmd $name - set msg "Merging $current_branch and $stitle" + set msg [mc "Merging %s and %s" $current_branch $stitle] ui_status "$msg..." - set cons [console::new "Merge" "merge $stitle"] + set cons [console::new [mc "Merge"] "merge $stitle"] console::exec $cons $cmd [cb _finish $cons] wm protocol $w WM_DELETE_WINDOW {} @@ -128,9 +128,9 @@ method _start {} { method _finish {cons ok} { console::done $cons $ok if {$ok} { - set msg {Merge completed successfully.} + set msg [mc "Merge completed successfully."] } else { - set msg {Merge failed. Conflict resolution is required.} + set msg [mc "Merge failed. Conflict resolution is required."] } unlock_index rescan [list ui_status $msg] @@ -147,7 +147,7 @@ constructor dialog {} { } make_toplevel top w - wm title $top "[appname] ([reponame]): Merge" + wm title $top [append "[appname] ([reponame]): " [mc "Merge"]] if {$top ne {.}} { wm geometry $top "+[winfo rootx .]+[winfo rooty .]" } @@ -155,26 +155,26 @@ constructor dialog {} { set _start [cb _start] label $w.header \ - -text "Merge Into $current_branch" \ + -text [mc "Merge Into %s" $current_branch] \ -font font_uibold pack $w.header -side top -fill x frame $w.buttons button $w.buttons.visualize \ - -text Visualize \ + -text [mc Visualize] \ -command [cb _visualize] pack $w.buttons.visualize -side left button $w.buttons.merge \ - -text Merge \ + -text [mc Merge] \ -command $_start pack $w.buttons.merge -side right button $w.buttons.cancel \ - -text {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 - set w_rev [::choose_rev::new_unmerged $w.rev {Revision To Merge}] + set w_rev [::choose_rev::new_unmerged $w.rev [mc "Revision To Merge"]] pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5 bind $w <$M1B-Key-Return> $_start @@ -209,34 +209,34 @@ proc reset_hard {} { global HEAD commit_type file_states if {[string match amend* $commit_type]} { - info_popup {Cannot abort while amending. + info_popup [mc "Cannot abort while amending. You must finish amending this commit. -} +"] return } if {![lock_index abort]} return if {[string match *merge* $commit_type]} { - set op_question "Abort merge? + set op_question [mc "Abort merge? Aborting the current merge will cause *ALL* uncommitted changes to be lost. -Continue with aborting the current merge?" +Continue with aborting the current merge?"] } else { - set op_question "Reset changes? + set op_question [mc "Reset changes? Resetting the changes will cause *ALL* uncommitted changes to be lost. -Continue with resetting the current changes?" +Continue with resetting the current changes?"] } if {[ask_popup $op_question] eq {yes}} { set fd [git_read --stderr read-tree --reset -u -v HEAD] fconfigure $fd -blocking 0 -translation binary fileevent $fd readable [namespace code [list _reset_wait $fd]] - $::main_status start {Aborting} {files reset} + $::main_status start [mc "Aborting"] {files reset} } else { unlock_index } @@ -263,9 +263,9 @@ proc _reset_wait {fd} { catch {file delete [gitdir GITGUI_MSG]} if {$fail} { - warn_popup "Abort failed.\n\n$err" + warn_popup "[mc "Abort failed."]\n\n$err" } - rescan {ui_status {Abort completed. Ready.}} + rescan {ui_status [mc "Abort completed. Ready."]} } else { fconfigure $fd -blocking 0 } diff --git a/lib/option.tcl b/lib/option.tcl index aa9f783afd..31c7d47f35 100644 --- a/lib/option.tcl +++ b/lib/option.tcl @@ -62,7 +62,7 @@ proc do_about {} { toplevel $w wm geometry $w "+[winfo rootx .]+[winfo rooty .]" - label $w.header -text "About [appname]" \ + label $w.header -text [mc "About %s" [appname]] \ -font font_uibold pack $w.header -side top -fill x @@ -74,8 +74,7 @@ proc do_about {} { pack $w.buttons -side bottom -fill x -pady 10 -padx 10 label $w.desc \ - -text "git-gui - a graphical user interface for Git. -$copyright" \ + -text "[mc "git-gui - a graphical user interface for Git."]\n$copyright" \ -padx 5 -pady 5 \ -justify left \ -anchor w \ @@ -157,48 +156,48 @@ proc do_options {} { toplevel $w wm geometry $w "+[winfo rootx .]+[winfo rooty .]" - label $w.header -text "Options" \ + label $w.header -text [mc "Options"] \ -font font_uibold pack $w.header -side top -fill x frame $w.buttons - button $w.buttons.restore -text {Restore Defaults} \ + button $w.buttons.restore -text [mc "Restore Defaults"] \ -default normal \ -command do_restore_defaults pack $w.buttons.restore -side left - button $w.buttons.save -text Save \ + button $w.buttons.save -text [mc Save] \ -default active \ -command [list do_save_config $w] pack $w.buttons.save -side right - button $w.buttons.cancel -text {Cancel} \ + button $w.buttons.cancel -text [mc "Cancel"] \ -default normal \ -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.repo -text "[reponame] Repository" - labelframe $w.global -text {Global (All Repositories)} + labelframe $w.repo -text [mc "%s Repository" [reponame]] + labelframe $w.global -text [mc "Global (All Repositories)"] pack $w.repo -side left -fill both -expand 1 -pady 5 -padx 5 pack $w.global -side right -fill both -expand 1 -pady 5 -padx 5 set optid 0 foreach option { - {t user.name {User Name}} - {t user.email {Email Address}} + {t user.name {mc "User Name"}} + {t user.email {mc "Email Address"}} - {b merge.summary {Summarize Merge Commits}} - {i-1..5 merge.verbosity {Merge Verbosity}} - {b merge.diffstat {Show Diffstat After Merge}} + {b merge.summary {mc "Summarize Merge Commits"}} + {i-1..5 merge.verbosity {mc "Merge Verbosity"}} + {b merge.diffstat {mc "Show Diffstat After Merge"}} - {b gui.trustmtime {Trust File Modification Timestamps}} - {b gui.pruneduringfetch {Prune Tracking Branches During Fetch}} - {b gui.matchtrackingbranch {Match Tracking Branches}} - {i-0..99 gui.diffcontext {Number of Diff Context Lines}} - {t gui.newbranchtemplate {New Branch Name Template}} + {b gui.trustmtime {mc "Trust File Modification Timestamps"}} + {b gui.pruneduringfetch {mc "Prune Tracking Branches During Fetch"}} + {b gui.matchtrackingbranch {mc "Match Tracking Branches"}} + {i-0..99 gui.diffcontext {mc "Number of Diff Context Lines"}} + {t gui.newbranchtemplate {mc "New Branch Name Template"}} } { set type [lindex $option 0] set name [lindex $option 1] - set text [lindex $option 2] + set text [eval [lindex $option 2]] incr optid foreach f {repo global} { switch -glob -- $type { @@ -246,7 +245,7 @@ proc do_options {} { foreach option $font_descs { set name [lindex $option 0] set font [lindex $option 1] - set text [lindex $option 2] + set text [eval [lindex $option 2]] set global_config_new(gui.$font^^family) \ [font configure $font -family] @@ -272,7 +271,7 @@ proc do_options {} { bind $w "grab $w; focus $w.buttons.save" bind $w "destroy $w" bind $w [list do_save_config $w] - wm title $w "[appname] ([reponame]): Options" + wm title $w [append "[appname] ([reponame]): " [mc "Options"]] tkwait window $w } @@ -303,7 +302,7 @@ proc do_restore_defaults {} { proc do_save_config {w} { if {[catch {save_config} err]} { - error_popup "Failed to completely save options:\n\n$err" + error_popup [append [mc "Failed to completely save options:"] "\n\n$err"] } reshow_diff destroy $w diff --git a/lib/remote.tcl b/lib/remote.tcl index cf9b9d5829..62bfe8f741 100644 --- a/lib/remote.tcl +++ b/lib/remote.tcl @@ -159,7 +159,7 @@ proc populate_fetch_menu {} { if {$enable} { lappend prune_list $r $m add command \ - -label "Fetch from $r..." \ + -label [mc "Fetch from %s..." $r] \ -command [list fetch_from $r] } } @@ -169,7 +169,7 @@ proc populate_fetch_menu {} { } foreach r $prune_list { $m add command \ - -label "Prune from $r..." \ + -label [mc "Prune from %s..." $r] \ -command [list prune_from $r] } } @@ -203,7 +203,7 @@ proc populate_push_menu {} { $m add separator } $m add command \ - -label "Push to $r..." \ + -label [mc "Push to %s..." $r] \ -command [list push_to $r] incr fast_count } diff --git a/lib/remote_branch_delete.tcl b/lib/remote_branch_delete.tcl index c88a360db5..06b5eabf91 100644 --- a/lib/remote_branch_delete.tcl +++ b/lib/remote_branch_delete.tcl @@ -26,28 +26,28 @@ constructor dialog {} { global all_remotes M1B make_toplevel top w - wm title $top "[appname] ([reponame]): Delete Remote Branch" + wm title $top [append "[appname] ([reponame]): " [mc "Delete Remote Branch"]] if {$top ne {.}} { wm geometry $top "+[winfo rootx .]+[winfo rooty .]" } - label $w.header -text {Delete Remote Branch} -font font_uibold + label $w.header -text [mc "Delete Remote Branch"] -font font_uibold pack $w.header -side top -fill x frame $w.buttons - button $w.buttons.delete -text Delete \ + button $w.buttons.delete -text [mc Delete] \ -default active \ -command [cb _delete] pack $w.buttons.delete -side right - button $w.buttons.cancel -text {Cancel} \ + 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.dest -text {From Repository} + labelframe $w.dest -text [mc "From Repository"] if {$all_remotes ne {}} { radiobutton $w.dest.remote_r \ - -text {Remote:} \ + -text [mc "Remote:"] \ -value remote \ -variable @urltype eval tk_optionMenu $w.dest.remote_m @remote $all_remotes @@ -63,7 +63,7 @@ constructor dialog {} { set urltype url } radiobutton $w.dest.url_r \ - -text {Arbitrary URL:} \ + -text [mc "Arbitrary URL:"] \ -value url \ -variable @urltype entry $w.dest.url_t \ @@ -81,7 +81,7 @@ constructor dialog {} { grid columnconfigure $w.dest 1 -weight 1 pack $w.dest -anchor nw -fill x -pady 5 -padx 5 - labelframe $w.heads -text {Branches} + labelframe $w.heads -text [mc "Branches"] listbox $w.heads.l \ -height 10 \ -width 70 \ @@ -96,7 +96,7 @@ constructor dialog {} { -anchor w \ -justify left button $w.heads.footer.rescan \ - -text {Rescan} \ + -text [mc "Rescan"] \ -command [cb _rescan] pack $w.heads.footer.status -side left -fill x pack $w.heads.footer.rescan -side right @@ -106,9 +106,9 @@ constructor dialog {} { pack $w.heads.l -side left -fill both -expand 1 pack $w.heads -fill both -expand 1 -pady 5 -padx 5 - labelframe $w.validate -text {Delete Only If} + labelframe $w.validate -text [mc "Delete Only If"] radiobutton $w.validate.head_r \ - -text {Merged Into:} \ + -text [mc "Merged Into:"] \ -value head \ -variable @checktype set head_m [tk_optionMenu $w.validate.head_m @check_head {}] @@ -116,7 +116,7 @@ constructor dialog {} { trace add variable @check_head write [cb _write_check_head] grid $w.validate.head_r $w.validate.head_m -sticky w radiobutton $w.validate.always_r \ - -text {Always (Do not perform merge checks)} \ + -text [mc "Always (Do not perform merge checks)"] \ -value always \ -variable @checktype grid $w.validate.always_r -columnspan 2 -sticky w @@ -149,7 +149,7 @@ method _delete {} { -type ok \ -title [wm title $w] \ -parent $w \ - -message "A branch is required for 'Merged Into'." + -message [mc "A branch is required for 'Merged Into'."] return } set crev $full_cache("$cache\nrefs/heads/$check_head") @@ -186,9 +186,7 @@ method _delete {} { - [join $not_merged "\n - "]" if {$need_fetch} { - append msg " - -One or more of the merge tests failed because you have not fetched the necessary commits. Try fetching from $uri first." + append msg "\n\n" [mc "One or more of the merge tests failed because you have not fetched the necessary commits. Try fetching from %s first." $uri] } tk_messageBox \ @@ -206,7 +204,7 @@ One or more of the merge tests failed because you have not fetched the necessary -type ok \ -title [wm title $w] \ -parent $w \ - -message "Please select one or more branches to delete." + -message [mc "Please select one or more branches to delete."] return } @@ -215,9 +213,9 @@ One or more of the merge tests failed because you have not fetched the necessary -type yesno \ -title [wm title $w] \ -parent $w \ - -message {Recovering deleted branches is difficult. + -message [mc "Recovering deleted branches is difficult. -Delete the selected branches?}] ne yes} { +Delete the selected branches?"]] ne yes} { return } @@ -225,7 +223,7 @@ Delete the selected branches?}] ne yes} { set cons [console::new \ "push $uri" \ - "Deleting branches from $uri"] + [mc "Deleting branches from %s" $uri]] console::exec $cons $push_cmd } @@ -285,12 +283,12 @@ method _load {cache uri} { $w.heads.l conf -state disabled set head_list [list] set full_list [list] - set status {No repository selected.} + set status [mc "No repository selected."] return } if {[catch {set x $cached($cache)}]} { - set status "Scanning $uri..." + set status [mc "Scanning %s..." $uri] $w.heads.l conf -state disabled set head_list [list] set full_list [list] diff --git a/lib/shortcut.tcl b/lib/shortcut.tcl index c36be2f3cd..d0e63a3d0e 100644 --- a/lib/shortcut.tcl +++ b/lib/shortcut.tcl @@ -6,7 +6,7 @@ proc do_windows_shortcut {} { set fn [tk_getSaveFile \ -parent . \ - -title "[appname] ([reponame]): Create Desktop Icon" \ + -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \ -initialfile "Git [reponame].bat"] if {$fn != {}} { if {[file extension $fn] ne {.bat}} { @@ -23,7 +23,7 @@ proc do_windows_shortcut {} { puts $fd " \"[file normalize $argv0]\"" close $fd } err]} { - error_popup "Cannot write script:\n\n$err" + error_popup [append [mc "Cannot write script:"] "\n\n$err"] } } } @@ -42,7 +42,7 @@ proc do_cygwin_shortcut {} { } set fn [tk_getSaveFile \ -parent . \ - -title "[appname] ([reponame]): Create Desktop Icon" \ + -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \ -initialdir $desktop \ -initialfile "Git [reponame].bat"] if {$fn != {}} { @@ -71,7 +71,7 @@ proc do_cygwin_shortcut {} { puts $fd " &\"" close $fd } err]} { - error_popup "Cannot write script:\n\n$err" + error_popup [append [mc "Cannot write script:"] "\n\n$err"] } } } @@ -81,7 +81,7 @@ proc do_macosx_app {} { set fn [tk_getSaveFile \ -parent . \ - -title "[appname] ([reponame]): Create Desktop Icon" \ + -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \ -initialdir [file join $env(HOME) Desktop] \ -initialfile "Git [reponame].app"] if {$fn != {}} { @@ -146,7 +146,7 @@ proc do_macosx_app {} { file attributes $exe -permissions u+x,g+x,o+x } err]} { - error_popup "Cannot write icon:\n\n$err" + error_popup [append [mc "Cannot write icon:"] "\n\n$err"] } } } diff --git a/lib/status_bar.tcl b/lib/status_bar.tcl index 72a8fe1fd3..769ef81c4b 100644 --- a/lib/status_bar.tcl +++ b/lib/status_bar.tcl @@ -55,7 +55,7 @@ method update {have total} { set pdone [expr {100 * $have / $total}] } - set status [format "%s ... %i of %i %s (%2i%%)" \ + set status [mc "%s ... %i of %i %s (%2i%%)" \ $prefix $have $total $units $pdone] $w_c coords bar 0 0 $pdone 20 } diff --git a/lib/transport.tcl b/lib/transport.tcl index 3a22bd40d4..1c7baef173 100644 --- a/lib/transport.tcl +++ b/lib/transport.tcl @@ -4,7 +4,7 @@ proc fetch_from {remote} { set w [console::new \ "fetch $remote" \ - "Fetching new changes from $remote"] + [mc "Fetching new changes from %s" $remote]] set cmds [list] lappend cmds [list exec git fetch $remote] if {[is_config_true gui.pruneduringfetch]} { @@ -16,14 +16,14 @@ proc fetch_from {remote} { proc prune_from {remote} { set w [console::new \ "remote prune $remote" \ - "Pruning tracking branches deleted from $remote"] + [mc "Pruning tracking branches deleted from %s" $remote]] console::exec $w [list git remote prune $remote] } proc push_to {remote} { set w [console::new \ "push $remote" \ - "Pushing changes to $remote"] + [mc "Pushing changes to %s" $remote]] set cmd [list git push] lappend cmd -v lappend cmd $remote @@ -65,7 +65,7 @@ proc start_push_anywhere_action {w} { set cons [console::new \ "push $r_url" \ - "Pushing $cnt $unit to $r_url"] + [mc "Pushing %s %s to %s" $cnt $unit $r_url]] console::exec $cons $cmd destroy $w } @@ -81,21 +81,21 @@ proc do_push_anywhere {} { toplevel $w wm geometry $w "+[winfo rootx .]+[winfo rooty .]" - label $w.header -text {Push Branches} -font font_uibold + label $w.header -text [mc "Push Branches"] -font font_uibold pack $w.header -side top -fill x frame $w.buttons - button $w.buttons.create -text Push \ + button $w.buttons.create -text [mc Push] \ -default active \ -command [list start_push_anywhere_action $w] pack $w.buttons.create -side right - button $w.buttons.cancel -text {Cancel} \ + button $w.buttons.cancel -text [mc "Cancel"] \ -default normal \ -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.source -text {Source Branches} + labelframe $w.source -text [mc "Source Branches"] listbox $w.source.l \ -height 10 \ -width 70 \ @@ -112,10 +112,10 @@ proc do_push_anywhere {} { pack $w.source.l -side left -fill both -expand 1 pack $w.source -fill both -expand 1 -pady 5 -padx 5 - labelframe $w.dest -text {Destination Repository} + labelframe $w.dest -text [mc "Destination Repository"] if {$all_remotes ne {}} { radiobutton $w.dest.remote_r \ - -text {Remote:} \ + -text [mc "Remote:"] \ -value remote \ -variable push_urltype eval tk_optionMenu $w.dest.remote_m push_remote $all_remotes @@ -130,7 +130,7 @@ proc do_push_anywhere {} { set push_urltype url } radiobutton $w.dest.url_r \ - -text {Arbitrary URL:} \ + -text [mc "Arbitrary URL:"] \ -value url \ -variable push_urltype entry $w.dest.url_t \ @@ -150,13 +150,13 @@ proc do_push_anywhere {} { grid columnconfigure $w.dest 1 -weight 1 pack $w.dest -anchor nw -fill x -pady 5 -padx 5 - labelframe $w.options -text {Transfer Options} + labelframe $w.options -text [mc "Transfer Options"] checkbutton $w.options.thin \ - -text {Use thin pack (for slow network connections)} \ + -text [mc "Use thin pack (for slow network connections)"] \ -variable push_thin grid $w.options.thin -columnspan 2 -sticky w checkbutton $w.options.tags \ - -text {Include tags} \ + -text [mc "Include tags"] \ -variable push_tags grid $w.options.tags -columnspan 2 -sticky w grid columnconfigure $w.options 1 -weight 1 @@ -169,6 +169,6 @@ proc do_push_anywhere {} { bind $w "grab $w; focus $w.buttons.create" bind $w "destroy $w" bind $w [list start_push_anywhere_action $w] - wm title $w "[appname] ([reponame]): Push" + wm title $w [append "[appname] ([reponame]): " [mc "Push"]] tkwait window $w } From 3845048064352f4e213363239298f4fa3190ddb9 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Sat, 21 Jul 2007 14:17:07 +0200 Subject: [PATCH 04/91] Makefile rules for translation catalog generation and installation. [jes: with fixes by the i18n team.] Signed-off-by: Christian Stimming Signed-off-by: Johannes Schindelin --- Makefile | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 1bac6fed46..559e65ecd6 100644 --- a/Makefile +++ b/Makefile @@ -103,6 +103,21 @@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh $(GITGUI_BUILT_INS): git-gui $(QUIET_BUILT_IN)rm -f $@ && ln git-gui $@ +XGETTEXT ?= xgettext +msgsdir ?= $(libdir)/msgs +msgsdir_SQ = $(subst ','\'',$(msgsdir)) +PO_TEMPLATE = po/git-gui.pot +ALL_POFILES = $(wildcard po/*.po) +ALL_MSGFILES = $(subst .po,.msg,$(ALL_POFILES)) + +$(PO_TEMPLATE): $(SCRIPT_SH) $(ALL_LIBFILES) + $(XGETTEXT) -kmc -LTcl -o $@ $(SCRIPT_SH) $(ALL_LIBFILES) +update-po:: $(PO_TEMPLATE) + $(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; ) +$(ALL_MSGFILES): %.msg : %.po + @echo Generating catalog $@ + msgfmt --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@) + lib/tclIndex: $(ALL_LIBFILES) $(QUIET_INDEX)if echo \ $(foreach p,$(PRELOAD_FILES),source $p\;) \ @@ -136,7 +151,7 @@ GIT-GUI-VARS: .FORCE-GIT-GUI-VARS echo 1>$@ "$$VARS"; \ fi -all:: $(ALL_PROGRAMS) lib/tclIndex +all:: $(ALL_PROGRAMS) lib/tclIndex $(ALL_MSGFILES) install: all $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(INSTALL_D1) @@ -145,13 +160,15 @@ install: all $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(INSTALL_D1) $(QUIET)$(INSTALL_R0)lib/tclIndex $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' $(QUIET)$(foreach p,$(ALL_LIBFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' &&) true + $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(INSTALL_D1) + $(QUIET)$(foreach p,$(ALL_MSGFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true dist-version: @mkdir -p $(TARDIR) @echo $(GITGUI_VERSION) > $(TARDIR)/version clean:: - rm -f $(ALL_PROGRAMS) lib/tclIndex + rm -f $(ALL_PROGRAMS) lib/tclIndex po/*.msg rm -f GIT-VERSION-FILE GIT-GUI-VARS .PHONY: all install dist-version clean From 2631a81b901fc7baa274f98530a0d9cc05cecd17 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Fri, 27 Jul 2007 16:05:16 -0700 Subject: [PATCH 05/91] git-gui po/README: Guide to translators This short note is to help a translation contributor to help us localizing git-gui message files by covering the basics. Signed-off-by: Junio C Hamano --- po/README | 205 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 205 insertions(+) create mode 100644 po/README diff --git a/po/README b/po/README new file mode 100644 index 0000000000..af5dfad8c7 --- /dev/null +++ b/po/README @@ -0,0 +1,205 @@ +Localizing git-gui for your language +==================================== + +This short note is to help you, who reads and writes English and your +own language, help us getting git-gui localized for more languages. It +does not try to be a comprehensive manual of GNU gettext, which is the +i18n framework we use, but tries to help you get started by covering the +basics and how it is used in this project. + +1. Getting started. + +You would first need to have a working "git". Your distribution may +have it as "git-core" package (do not get "GNU Interactive Tools" -- +that is a different "git"). You would also need GNU gettext toolchain +to test the resulting translation out. Although you can work on message +translation files with a regular text editor, it is a good idea to have +specialized so-called "po file editors" (e.g. emacs po-mode, KBabel, +poedit, GTranslator --- any of them would work well). Please install +them. + +You would then need to clone the git-gui internationalization project +repository, so that you can work on it: + + $ git clone mob@repo.or.cz:/srv/git/git-gui/git-gui-i18n.git/ + $ cd git-gui-i18n + $ git checkout --track -b mob origin/mob + $ git config remote.origin.push mob + +The "git checkout" command creates a 'mob' branch from upstream's +corresponding branch and makes it your current branch. You will be +working on this branch. + +The "git config" command records in your repository configuration file +that you would push "mob" branch to the upstream when you say "git +push". + + +2. Starting a new language. + +In the git-gui-i18n directory is a po/ subdirectory. It has a +handful files whose names end with ".po". Is there a file that has +messages in your language? + +If you do not know what your language should be named, you need to find +it. This currently follows ISO 639-1 two letter codes: + + http://www.loc.gov/standards/iso639-2/php/code_list.php + +For example, if you are preparing a translation for Afrikaans, the +language code is "af". If there already is a translation for your +language, you do not have to perform any step in this section, but keep +reading, because we are covering the basics. + +If you did not find your language, you would need to start one yourself. +Copy po/git-gui.pot file to po/af.po (replace "af" with the code for +your language). Edit the first several lines to match existing *.po +files to make it clear this is a translation table for git-gui project, +and you are the primary translator. The result of your editing would +look something like this: + + # Translation of git-gui to Afrikaans + # Copyright (C) 2007 Shawn Pearce + # This file is distributed under the same license as the git-gui package. + # YOUR NAME , 2007. + # + #, fuzzy + msgid "" + msgstr "" + "Project-Id-Version: git-gui\n" + "Report-Msgid-Bugs-To: \n" + "POT-Creation-Date: 2007-07-24 22:19+0300\n" + "PO-Revision-Date: 2007-07-25 18:00+0900\n" + "Last-Translator: YOUR NAME \n" + "Language-Team: Afrikaans\n" + "MIME-Version: 1.0\n" + "Content-Type: text/plain; charset=UTF-8\n" + "Content-Transfer-Encoding: 8bit\n" + +You will find many pairs of a "msgid" line followed by a "msgstr" line. +These pairs define how messages in git-gui application are translated to +your language. Your primarily job is to fill in the empty double quote +pairs on msgstr lines with the translation of the strings on their +matching msgid lines. A few tips: + + - Control characters, such as newlines, are written in backslash + sequence similar to string literals in the C programming language. + When the string given on a msgid line has such a backslash sequence, + you would typically want to have corresponding ones in the string on + your msgstr line. + + - Often the messages being translated are format strings given to + "printf()"-like functions. Make sure "%s", "%d", and "%%" in your + translated messages match the original. + + When you have to change the order of words, you can add "\$" + between '%' and the conversion ('s', 'd', etc.) to say "-th + parameter to the format string is used at this point". For example, + if the original message is like this: + + "Length is %d, Weight is %d" + + and if for whatever reason your translation needs to say weight first + and then length, you can say something like: + + "WEIGHT IS %2\$d, LENGTH IS %1\$d" + + The reason you need a backslash before dollar sign is because + this is a double quoted string in Tcl language, and without + it the letter introduces a variable interpolation, which you + do not want here. + + - A long message can be split across multiple lines by ending the + string with a double quote, and starting another string on the next + line with another double quote. They will be concatenated in the + result. For example: + + #: 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 "" + "HERE YOU WILL WRITE YOUR TRANSLATION OF THE ABOVE LONG " + "MESSAGE IN YOUR LANGUAGE." + +You can test your translation by running "make install", which would +create po/af.msg file and installs the result, and then running the +resulting git-gui under your locale: + + $ make install + $ LANG=af git-gui + +There is a trick to test your translation without first installing, if +you prefer. First, create this symbolic link in the source tree: + + $ ln -s ../po lib/msgs + +After setting up such a symbolic link, you can: + + $ make + $ LANG=af ./git-gui.sh + +When you are satisfied with your translation, commit your changes, and +push it back to the 'mob' branch: + + $ edit po/af.po + ... be sure to update Last-Translator: and + ... PO-Revision-Date: lines. + $ git add po/af.po + $ git commit -m 'Started Afrikaans translation.' + $ git push + + +3. Updating your translation. + +There may already be a translation for your language, and you may want +to contribute an update. This may be because you would want to improve +the translation of existing messages, or because the git-gui software +itself was updated and there are new messages that need translation. + +In any case, make sure you are up-to-date before starting your work: + + $ git pull + +In the former case, you will edit po/af.po (again, replace "af" with +your language code), and after testing and updating the Last-Translator: +and PO-Revision-Date: lines, "add/commit/push" as in the previous +section. + +By comparing "POT-Creation-Date:" line in po/git-gui.pot file and +po/af.po file, you can tell if there are new messages that need to be +translated. You would need the GNU gettext package to perform this +step. + + $ msgmerge -U po/af.po po/git-gui.pot + +[NEEDSWORK: who is responsible for updating po/git-gui.pot file by +running xgettext? IIRC, Christian recommended against running it +nilly-willy because it can become a source of unnecessary merge +conflicts. Perhaps we should mention something like " + +The po/git-gui.pot file is updated by the internationalization +coordinator from time to time. You _could_ update it yourself, but +translators are discouraged from doing so because we would want all +language teams to be working off of the same version of git-gui.pot. + +" here?] + +This updates po/af.po (again, replace "af" with your language +code) so that it contains msgid lines (i.e. the original) that +your translation did not have before. There are a few things to +watch out for: + + - The original text in English of an older message you already + translated might have been changed. You will notice a comment line + that begins with "#, fuzzy" in front of such a message. msgmerge + tool made its best effort to match your old translation with the + message from the updated software, but you may find cases that it + matched your old translated message to a new msgid and the pairing + does not make any sense -- you would need to fix them, and then + remove the "#, fuzzy" line from the message (your fixed translation + of the message will not be used before you remove the marker). + + - New messages added to the software will have msgstr lines with empty + strings. You would need to translate them. From e79bbfea9be31957e0532db67b264d7d8581af30 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sun, 22 Jul 2007 02:12:18 +0100 Subject: [PATCH 06/91] Add po/git-gui.pot Usually, generated files are not part of the tracked content in a project. However, translators may lack the tools to generate git-gui.pot. Besides, it is possible that a contributor does not even check out the repository, but gets this file via gitweb. Pointed out by Junio. Signed-off-by: Johannes Schindelin --- po/git-gui.pot | 1264 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1264 insertions(+) create mode 100644 po/git-gui.pot diff --git a/po/git-gui.pot b/po/git-gui.pot new file mode 100644 index 0000000000..991efea5f3 --- /dev/null +++ b/po/git-gui.pot @@ -0,0 +1,1264 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER +# This file is distributed under the same license as the PACKAGE package. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-11 17:28+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: 8bit\n" + +#: git-gui.sh:531 +msgid "Cannot find git in PATH." +msgstr "" + +#: git-gui.sh:550 +msgid "Cannot parse Git version string:" +msgstr "" + +#: git-gui.sh:567 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" + +#: git-gui.sh:689 +msgid "Cannot find the git directory:" +msgstr "" + +#: git-gui.sh:697 +msgid "Git directory not found:" +msgstr "" + +#: git-gui.sh:703 +msgid "Cannot use funny .git directory:" +msgstr "" + +#: git-gui.sh:708 +msgid "No working directory" +msgstr "" + +#: git-gui.sh:854 +msgid "Refreshing file status..." +msgstr "" + +#: git-gui.sh:891 +msgid "Scanning for modified files ..." +msgstr "" + +#: git-gui.sh:1057 lib/browser.tcl:247 +msgid "Ready." +msgstr "" + +#: git-gui.sh:1322 +msgid "Unmodified" +msgstr "" + +#: git-gui.sh:1324 +msgid "Modified, not staged" +msgstr "" + +#: git-gui.sh:1325 git-gui.sh:1330 +msgid "Staged for commit" +msgstr "" + +#: git-gui.sh:1326 git-gui.sh:1331 +msgid "Portions staged for commit" +msgstr "" + +#: git-gui.sh:1327 git-gui.sh:1332 +msgid "Staged for commit, missing" +msgstr "" + +#: git-gui.sh:1329 +msgid "Untracked, not staged" +msgstr "" + +#: git-gui.sh:1334 +msgid "Missing" +msgstr "" + +#: git-gui.sh:1335 +msgid "Staged for removal" +msgstr "" + +#: git-gui.sh:1336 +msgid "Staged for removal, still present" +msgstr "" + +#: git-gui.sh:1338 git-gui.sh:1339 git-gui.sh:1340 git-gui.sh:1341 +msgid "Requires merge resolution" +msgstr "" + +#: git-gui.sh:1383 +msgid "Starting gitk... please wait..." +msgstr "" + +#: git-gui.sh:1392 +#, tcl-format +msgid "" +"Unable to start gitk:\n" +"\n" +"%s does not exist" +msgstr "" + +#: git-gui.sh:1609 +#, tcl-format +msgid "Invalid font specified in gui.%s:" +msgstr "" + +#: git-gui.sh:1634 +msgid "Main Font" +msgstr "" + +#: git-gui.sh:1635 +msgid "Diff/Console Font" +msgstr "" + +#: git-gui.sh:1649 +msgid "Repository" +msgstr "" + +#: git-gui.sh:1650 +msgid "Edit" +msgstr "" + +#: git-gui.sh:1652 +msgid "Branch" +msgstr "" + +#: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152 +msgid "Commit" +msgstr "" + +#: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "" + +#: git-gui.sh:1659 +msgid "Fetch" +msgstr "" + +#: git-gui.sh:1660 git-gui.sh:2158 lib/transport.tcl:88 lib/transport.tcl:172 +msgid "Push" +msgstr "" + +#: git-gui.sh:1669 +msgid "Browse Current Branch's Files" +msgstr "" + +#: git-gui.sh:1673 +msgid "Browse Branch Files..." +msgstr "" + +#: git-gui.sh:1678 +msgid "Visualize Current Branch's History" +msgstr "" + +#: git-gui.sh:1682 +msgid "Visualize All Branch History" +msgstr "" + +#: git-gui.sh:1689 +#, tcl-format +msgid "Browse %s's Files" +msgstr "" + +#: git-gui.sh:1691 +#, tcl-format +msgid "Visualize %s's History" +msgstr "" + +#: git-gui.sh:1696 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "" + +#: git-gui.sh:1699 lib/database.tcl:34 +msgid "Compress Database" +msgstr "" + +#: git-gui.sh:1702 +msgid "Verify Database" +msgstr "" + +#: git-gui.sh:1709 git-gui.sh:1713 git-gui.sh:1717 lib/shortcut.tcl:9 +#: lib/shortcut.tcl:45 lib/shortcut.tcl:84 +msgid "Create Desktop Icon" +msgstr "" + +#: git-gui.sh:1722 +msgid "Quit" +msgstr "" + +#: git-gui.sh:1729 +msgid "Undo" +msgstr "" + +#: git-gui.sh:1732 +msgid "Redo" +msgstr "" + +#: git-gui.sh:1736 git-gui.sh:2222 +msgid "Cut" +msgstr "" + +#: git-gui.sh:1739 git-gui.sh:2225 git-gui.sh:2296 git-gui.sh:2368 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "" + +#: git-gui.sh:1742 git-gui.sh:2228 +msgid "Paste" +msgstr "" + +#: git-gui.sh:1745 git-gui.sh:2231 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "" + +#: git-gui.sh:1749 git-gui.sh:2235 git-gui.sh:2372 lib/console.tcl:71 +msgid "Select All" +msgstr "" + +#: git-gui.sh:1758 +msgid "Create..." +msgstr "" + +#: git-gui.sh:1764 +msgid "Checkout..." +msgstr "" + +#: git-gui.sh:1770 +msgid "Rename..." +msgstr "" + +#: git-gui.sh:1775 git-gui.sh:1873 +msgid "Delete..." +msgstr "" + +#: git-gui.sh:1780 +msgid "Reset..." +msgstr "" + +#: git-gui.sh:1792 git-gui.sh:2169 +msgid "New Commit" +msgstr "" + +#: git-gui.sh:1800 git-gui.sh:2176 +msgid "Amend Last Commit" +msgstr "" + +#: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "" + +#: git-gui.sh:1815 +msgid "Stage To Commit" +msgstr "" + +#: git-gui.sh:1820 +msgid "Stage Changed Files To Commit" +msgstr "" + +#: git-gui.sh:1826 +msgid "Unstage From Commit" +msgstr "" + +#: git-gui.sh:1831 lib/index.tcl:376 +msgid "Revert Changes" +msgstr "" + +#: git-gui.sh:1838 git-gui.sh:2148 git-gui.sh:2246 +msgid "Sign Off" +msgstr "" + +#: git-gui.sh:1853 +msgid "Local Merge..." +msgstr "" + +#: git-gui.sh:1858 +msgid "Abort Merge..." +msgstr "" + +#: git-gui.sh:1870 +msgid "Push..." +msgstr "" + +#: git-gui.sh:1880 +msgid "Apple" +msgstr "" + +#: git-gui.sh:1883 git-gui.sh:1901 lib/option.tcl:65 +#, tcl-format +msgid "About %s" +msgstr "" + +#: git-gui.sh:1885 git-gui.sh:1891 git-gui.sh:2414 +msgid "Options..." +msgstr "" + +#: git-gui.sh:1897 +msgid "Help" +msgstr "" + +#: git-gui.sh:1938 +msgid "Online Documentation" +msgstr "" + +#: git-gui.sh:2054 +msgid "Current Branch:" +msgstr "" + +#: git-gui.sh:2075 +msgid "Staged Changes (Will Be Committed)" +msgstr "" + +#: git-gui.sh:2095 +msgid "Unstaged Changes (Will Not Be Committed)" +msgstr "" + +#: git-gui.sh:2142 +msgid "Stage Changed" +msgstr "" + +#: git-gui.sh:2188 +msgid "Initial Commit Message:" +msgstr "" + +#: git-gui.sh:2189 +msgid "Amended Commit Message:" +msgstr "" + +#: git-gui.sh:2190 +msgid "Amended Initial Commit Message:" +msgstr "" + +#: git-gui.sh:2191 +msgid "Amended Merge Commit Message:" +msgstr "" + +#: git-gui.sh:2192 +msgid "Merge Commit Message:" +msgstr "" + +#: git-gui.sh:2193 +msgid "Commit Message:" +msgstr "" + +#: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73 +msgid "Copy All" +msgstr "" + +#: git-gui.sh:2262 lib/blame.tcl:104 +msgid "File:" +msgstr "" + +#: git-gui.sh:2364 +msgid "Refresh" +msgstr "" + +#: git-gui.sh:2385 +msgid "Apply/Reverse Hunk" +msgstr "" + +#: git-gui.sh:2391 +msgid "Decrease Font Size" +msgstr "" + +#: git-gui.sh:2395 +msgid "Increase Font Size" +msgstr "" + +#: git-gui.sh:2400 +msgid "Show Less Context" +msgstr "" + +#: git-gui.sh:2407 +msgid "Show More Context" +msgstr "" + +#: git-gui.sh:2422 +msgid "Unstage Hunk From Commit" +msgstr "" + +#: git-gui.sh:2426 git-gui.sh:2430 +msgid "Stage Hunk For Commit" +msgstr "" + +#: git-gui.sh:2440 +msgid "Initializing..." +msgstr "" + +#: lib/blame.tcl:77 +msgid "File Viewer" +msgstr "" + +#: lib/blame.tcl:81 +msgid "Commit:" +msgstr "" + +#: lib/blame.tcl:249 +msgid "Copy Commit" +msgstr "" + +#: lib/blame.tcl:369 +#, tcl-format +msgid "Reading %s..." +msgstr "" + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283 +#: lib/checkout_op.tcl:522 lib/merge.tcl:172 lib/option.tcl:172 +#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +msgid "Cancel" +msgstr "" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:288 +msgid "Revision" +msgstr "" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 +#: lib/option.tcl:274 +msgid "Options" +msgstr "" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "" + +#: lib/branch_create.tcl:31 +msgid "Create" +msgstr "" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "" + +#: lib/branch_create.tcl:43 +msgid "Name:" +msgstr "" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 +msgid "Reset" +msgstr "" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "" + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "" + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "" + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "" + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "" + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "" + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "" + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "" + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "" + +#: lib/browser.tcl:127 lib/browser.tcl:144 +#, tcl-format +msgid "Loading %s..." +msgstr "" + +#: lib/browser.tcl:188 +msgid "[Up To Parent]" +msgstr "" + +#: lib/browser.tcl:268 lib/browser.tcl:274 +msgid "Browse Branch Files" +msgstr "" + +#: lib/browser.tcl:279 +msgid "Browse" +msgstr "" + +#: lib/checkout_op.tcl:79 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "" + +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +msgid "Close" +msgstr "" + +#: lib/checkout_op.tcl:169 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "" + +#: lib/checkout_op.tcl:206 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" + +#: lib/checkout_op.tcl:220 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "" + +#: lib/checkout_op.tcl:239 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "" + +#: lib/checkout_op.tcl:251 +msgid "Staging area (index) is already locked." +msgstr "" + +#: lib/checkout_op.tcl:266 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" + +#: lib/checkout_op.tcl:353 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "" + +#: lib/checkout_op.tcl:354 +msgid "File level merge required." +msgstr "" + +#: lib/checkout_op.tcl:358 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "" + +#: lib/checkout_op.tcl:429 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" + +#: lib/checkout_op.tcl:478 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "" + +#: lib/checkout_op.tcl:500 +msgid "Recovering lost commits may not be easy." +msgstr "" + +#: lib/checkout_op.tcl:505 +#, tcl-format +msgid "Reset '%s'?" +msgstr "" + +#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +msgid "Visualize" +msgstr "" + +#: lib/checkout_op.tcl:578 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "" + +#: lib/choose_rev.tcl:84 +msgid "Tag" +msgstr "" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "" + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" + +#: lib/commit.tcl:49 +msgid "Error loading commit data for amend:" +msgstr "" + +#: lib/commit.tcl:76 +msgid "Unable to obtain your identity:" +msgstr "" + +#: lib/commit.tcl:81 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "" + +#: 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:154 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" + +#: lib/commit.tcl:162 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" + +#: lib/commit.tcl:170 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" + +#: lib/commit.tcl:183 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentance what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" + +#: lib/commit.tcl:257 +msgid "write-tree failed:" +msgstr "" + +#: lib/commit.tcl:279 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" + +#: lib/commit.tcl:286 +msgid "No changes to commit." +msgstr "" + +#: lib/commit.tcl:317 +msgid "commit-tree failed:" +msgstr "" + +#: lib/commit.tcl:339 +msgid "update-ref failed:" +msgstr "" + +#: lib/commit.tcl:430 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "" + +#: lib/console.tcl:55 +msgid "Working... please wait..." +msgstr "" + +#: lib/console.tcl:184 +msgid "Success" +msgstr "" + +#: lib/console.tcl:194 +msgid "Error: Command Failed" +msgstr "" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "" + +#: lib/diff.tcl:42 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" + +#: lib/diff.tcl:97 +msgid "Error loading file:" +msgstr "" + +#: lib/diff.tcl:162 +msgid "Error loading diff:" +msgstr "" + +#: lib/diff.tcl:278 +msgid "Failed to unstage selected hunk." +msgstr "" + +#: lib/diff.tcl:285 +msgid "Failed to stage selected hunk." +msgstr "" + +#: lib/error.tcl:12 lib/error.tcl:102 +msgid "error" +msgstr "" + +#: lib/error.tcl:28 +msgid "warning" +msgstr "" + +#: lib/error.tcl:81 +msgid "You must correct the above errors before committing." +msgstr "" + +#: lib/index.tcl:364 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "" + +#: lib/index.tcl:366 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "" + +#: lib/index.tcl:372 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "" + +#: lib/index.tcl:375 +msgid "Do Nothing" +msgstr "" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" + +#: lib/merge.tcl:44 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" + +#: lib/merge.tcl:54 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" + +#: lib/merge.tcl:106 +#, tcl-format +msgid "%s of %s" +msgstr "" + +#: lib/merge.tcl:119 +#, tcl-format +msgid "Merging %s and %s" +msgstr "" + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "" + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "" + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" + +#: lib/merge.tcl:222 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" + +#: lib/merge.tcl:228 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "" + +#: lib/merge.tcl:266 +msgid "Abort failed." +msgstr "" + +#: lib/merge.tcl:268 +msgid "Abort completed. Ready." +msgstr "" + +#: lib/option.tcl:77 +msgid "git-gui - a graphical user interface for Git." +msgstr "" + +#: lib/option.tcl:164 +msgid "Restore Defaults" +msgstr "" + +#: lib/option.tcl:168 +msgid "Save" +msgstr "" + +#: lib/option.tcl:178 +#, tcl-format +msgid "%s Repository" +msgstr "" + +#: lib/option.tcl:179 +msgid "Global (All Repositories)" +msgstr "" + +#: lib/option.tcl:185 +msgid "User Name" +msgstr "" + +#: lib/option.tcl:186 +msgid "Email Address" +msgstr "" + +#: lib/option.tcl:188 +msgid "Summarize Merge Commits" +msgstr "" + +#: lib/option.tcl:189 +msgid "Merge Verbosity" +msgstr "" + +#: lib/option.tcl:190 +msgid "Show Diffstat After Merge" +msgstr "" + +#: lib/option.tcl:192 +msgid "Trust File Modification Timestamps" +msgstr "" + +#: lib/option.tcl:193 +msgid "Prune Tracking Branches During Fetch" +msgstr "" + +#: lib/option.tcl:194 +msgid "Match Tracking Branches" +msgstr "" + +#: lib/option.tcl:195 +msgid "Number of Diff Context Lines" +msgstr "" + +#: lib/option.tcl:196 +msgid "New Branch Name Template" +msgstr "" + +#: lib/option.tcl:305 +msgid "Failed to completely save options:" +msgstr "" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Remote Branch" +msgstr "" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "" + +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +msgid "Remote:" +msgstr "" + +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +msgid "Arbitrary URL:" +msgstr "" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "" + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "" + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "" + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "" + +#: lib/remote.tcl:162 +#, tcl-format +msgid "Fetch from %s..." +msgstr "" + +#: lib/remote.tcl:172 +#, tcl-format +msgid "Prune from %s..." +msgstr "" + +#: lib/remote.tcl:206 +#, tcl-format +msgid "Push to %s..." +msgstr "" + +#: lib/shortcut.tcl:26 lib/shortcut.tcl:74 +msgid "Cannot write script:" +msgstr "" + +#: lib/shortcut.tcl:149 +msgid "Cannot write icon:" +msgstr "" + +#: lib/status_bar.tcl:58 +#, tcl-format +msgid "%s ... %i of %i %s (%2i%%)" +msgstr "" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "" + +#: lib/transport.tcl:68 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "" + +#: lib/transport.tcl:84 +msgid "Push Branches" +msgstr "" + +#: lib/transport.tcl:98 +msgid "Source Branches" +msgstr "" + +#: lib/transport.tcl:115 +msgid "Destination Repository" +msgstr "" + +#: lib/transport.tcl:153 +msgid "Transfer Options" +msgstr "" + +#: lib/transport.tcl:155 +msgid "Use thin pack (for slow network connections)" +msgstr "" + +#: lib/transport.tcl:159 +msgid "Include tags" +msgstr "" From 9f1a80877a59aeae1626296fac25360d9a81954e Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sun, 22 Jul 2007 12:31:45 +0100 Subject: [PATCH 07/91] Ignore po/*.msg Signed-off-by: Johannes Schindelin --- po/.gitignore | 2 ++ 1 file changed, 2 insertions(+) create mode 100644 po/.gitignore diff --git a/po/.gitignore b/po/.gitignore new file mode 100644 index 0000000000..a89cf44969 --- /dev/null +++ b/po/.gitignore @@ -0,0 +1,2 @@ +*.msg +*~ From 660a68cf1816075b935c67aa780fd1b2484c0f2f Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Mon, 23 Jul 2007 22:11:12 +0200 Subject: [PATCH 08/91] Add glossary that can be converted into a po file for each language. Signed-off-by: Johannes Schindelin --- po/glossary/Makefile | 9 ++++++ po/glossary/git-gui-glossary.txt | 34 ++++++++++++++++++++++ po/glossary/txt-to-pot.sh | 48 ++++++++++++++++++++++++++++++++ 3 files changed, 91 insertions(+) create mode 100644 po/glossary/Makefile create mode 100644 po/glossary/git-gui-glossary.txt create mode 100755 po/glossary/txt-to-pot.sh diff --git a/po/glossary/Makefile b/po/glossary/Makefile new file mode 100644 index 0000000000..749aa2e7ec --- /dev/null +++ b/po/glossary/Makefile @@ -0,0 +1,9 @@ +PO_TEMPLATE = git-gui-glossary.pot + +ALL_POFILES = $(wildcard *.po) + +$(PO_TEMPLATE): $(subst .pot,.txt,$(PO_TEMPLATE)) + ./txt-to-pot.sh $< > $@ + +update-po:: git-gui-glossary.pot + $(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; ) diff --git a/po/glossary/git-gui-glossary.txt b/po/glossary/git-gui-glossary.txt new file mode 100644 index 0000000000..bb55aa827d --- /dev/null +++ b/po/glossary/git-gui-glossary.txt @@ -0,0 +1,34 @@ +"English Term (Dear translator: This file will never be visible to the user!)" "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)" +"amend" "" +"annotate" "" +"branch [noun]" "A 'branch' is an active line of development." +"branch [verb]" "" +"checkout [noun]" "" +"checkout [verb]" "The action of updating the working tree to a revision which was stored in the object database." +"commit [noun]" "A single point in the git history." +"commit [verb]" "The action of storing a new snapshot of the project's state in the git history." +"diff [noun]" "" +"diff [verb]" "" +"fast forward merge" "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have." +"fetch" "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too." +"index (in git-gui: staging area)" "A collection of files. The index is a stored version of your working tree." +"merge [noun]" "A successful merge results in the creation of a new commit representing the result of the merge." +"merge [verb]" "To bring the contents of another branch into the current branch." +"message" "" +"pull" "Pulling a branch means to fetch it and merge it." +"push" "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)" +"redo" "" +"repository" "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)" +"reset" "" +"revert" "" +"revision" "A particular state of files and directories which was stored in the object database." +"sign off" "" +"staging area" "" +"status" "" +"tag [noun]" "A ref pointing to a tag or commit object" +"tag [verb]" "" +"tracking branch" "A regular git branch that is used to follow changes from another repository." +"undo" "" +"update" "" +"verify" "" +"working copy, working tree" "The tree of actual checked out files." diff --git a/po/glossary/txt-to-pot.sh b/po/glossary/txt-to-pot.sh new file mode 100755 index 0000000000..49bf7c5365 --- /dev/null +++ b/po/glossary/txt-to-pot.sh @@ -0,0 +1,48 @@ +#!/bin/sh +# This is a very, _very_, simple script to convert a tab-separated +# .txt file into a .pot/.po. +# Its not clever but it took me 2 minutes to write :) +# Michael Twomey +# 23 March 2001 +# with slight GnuCash modifications by Christian Stimming +# 19 Aug 2001, 23 Jul 2007 + +#check args +if [ $# -eq 0 ] +then + cat < git-gui-glossary.pot +! + exit 1; +fi + +GLOSSARY_CSV="$1"; + +if [ ! -f "$GLOSSARY_CSV" ] +then + echo "Can't find $GLOSSARY_CSV."; + exit 1; +fi + +cat <, YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: `date +'%Y-%m-%d %H:%M%z'`\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: ENCODING\n" + +! + +#Yes this is the most simple awk script you've ever seen :) +awk -F'\t' '{if ($2 != "") print "#. "$2; print "msgid "$1; print "msgstr \"\"\n"}' \ +$GLOSSARY_CSV From 3b703b2a380c276da946338ad16801a12962b000 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Fri, 27 Jul 2007 19:24:45 +0200 Subject: [PATCH 09/91] Add glossary translation template into git. This way, it should be easier for new translators to actually find out about the glossary. Signed-off-by: Johannes Schindelin --- po/glossary/git-gui-glossary.pot | 152 +++++++++++++++++++++++++++++++ 1 file changed, 152 insertions(+) create mode 100644 po/glossary/git-gui-glossary.pot diff --git a/po/glossary/git-gui-glossary.pot b/po/glossary/git-gui-glossary.pot new file mode 100644 index 0000000000..c955b46744 --- /dev/null +++ b/po/glossary/git-gui-glossary.pot @@ -0,0 +1,152 @@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Free Software Foundation, Inc. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" +"POT-Creation-Date: 2007-07-27 19:21+0200\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: ENCODING\n" + +#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)" +msgid "English Term (Dear translator: This file will never be visible to the user!)" +msgstr "" + +#. "" +msgid "amend" +msgstr "" + +#. "" +msgid "annotate" +msgstr "" + +#. "A 'branch' is an active line of development." +msgid "branch [noun]" +msgstr "" + +#. "" +msgid "branch [verb]" +msgstr "" + +#. "" +msgid "checkout [noun]" +msgstr "" + +#. "The action of updating the working tree to a revision which was stored in the object database." +msgid "checkout [verb]" +msgstr "" + +#. "A single point in the git history." +msgid "commit [noun]" +msgstr "" + +#. "The action of storing a new snapshot of the project's state in the git history." +msgid "commit [verb]" +msgstr "" + +#. "" +msgid "diff [noun]" +msgstr "" + +#. "" +msgid "diff [verb]" +msgstr "" + +#. "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have." +msgid "fast forward merge" +msgstr "" + +#. "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too." +msgid "fetch" +msgstr "" + +#. "A collection of files. The index is a stored version of your working tree." +msgid "index (in git-gui: staging area)" +msgstr "" + +#. "A successful merge results in the creation of a new commit representing the result of the merge." +msgid "merge [noun]" +msgstr "" + +#. "To bring the contents of another branch into the current branch." +msgid "merge [verb]" +msgstr "" + +#. "" +msgid "message" +msgstr "" + +#. "Pulling a branch means to fetch it and merge it." +msgid "pull" +msgstr "" + +#. "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)" +msgid "push" +msgstr "" + +#. "" +msgid "redo" +msgstr "" + +#. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)" +msgid "repository" +msgstr "" + +#. "" +msgid "reset" +msgstr "" + +#. "" +msgid "revert" +msgstr "" + +#. "A particular state of files and directories which was stored in the object database." +msgid "revision" +msgstr "" + +#. "" +msgid "sign off" +msgstr "" + +#. "" +msgid "staging area" +msgstr "" + +#. "" +msgid "status" +msgstr "" + +#. "A ref pointing to a tag or commit object" +msgid "tag [noun]" +msgstr "" + +#. "" +msgid "tag [verb]" +msgstr "" + +#. "A regular git branch that is used to follow changes from another repository." +msgid "tracking branch" +msgstr "" + +#. "" +msgid "undo" +msgstr "" + +#. "" +msgid "update" +msgstr "" + +#. "" +msgid "verify" +msgstr "" + +#. "The tree of actual checked out files." +msgid "working copy, working tree" +msgstr "" + From 90a7149ff15ea0ee0e2ad04ea72ac64e29a1cb52 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Sat, 21 Jul 2007 14:18:14 +0200 Subject: [PATCH 10/91] German translation for git-gui Signed-off-by: Christian Stimming Signed-off-by: Johannes Schindelin --- po/de.po | 1398 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1398 insertions(+) create mode 100644 po/de.po diff --git a/po/de.po b/po/de.po new file mode 100644 index 0000000000..7d57dd15f9 --- /dev/null +++ b/po/de.po @@ -0,0 +1,1398 @@ +# Translation of git-gui to German. +# Copyright (C) 2007 Shawn Pearce, et al. +# This file is distributed under the same license as the git package. +# Christian Stimming , 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-11 17:28+0200\n" +"PO-Revision-Date: 2007-08-11 17:37+0200\n" +"Last-Translator: Christian Stimming \n" +"Language-Team: German\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: git-gui.sh:531 +msgid "Cannot find git in PATH." +msgstr "Git kann im PATH nicht gefunden werden." + +#: git-gui.sh:550 +msgid "Cannot parse Git version string:" +msgstr "Git Versionsangabe kann nicht erkannt werden:" + +#: git-gui.sh:567 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"Die Version von Git kann nicht bestimmt werden.\n" +"\n" +"»%s« behauptet, es sei Version »%s«.\n" +"\n" +"%s benötigt mindestens Git 1.5.0 oder höher.\n" +"\n" +"Soll angenommen werden, »%s« sei Version 1.5.0?\n" + +#: git-gui.sh:689 +msgid "Cannot find the git directory:" +msgstr "Git-Verzeichnis kann nicht gefunden werden:" + +#: git-gui.sh:697 +msgid "Git directory not found:" +msgstr "Git-Verzeichnis nicht gefunden:" + +#: git-gui.sh:703 +msgid "Cannot use funny .git directory:" +msgstr "Unerwartete Struktur des .git Verzeichnis:" + +#: git-gui.sh:708 +msgid "No working directory" +msgstr "Kein Arbeitsverzeichnis" + +#: git-gui.sh:854 +msgid "Refreshing file status..." +msgstr "Dateistatus aktualisieren..." + +#: git-gui.sh:891 +msgid "Scanning for modified files ..." +msgstr "Nach geänderten Dateien suchen..." + +#: git-gui.sh:1057 lib/browser.tcl:247 +msgid "Ready." +msgstr "Bereit." + +#: git-gui.sh:1322 +msgid "Unmodified" +msgstr "Unverändert" + +#: git-gui.sh:1324 +msgid "Modified, not staged" +msgstr "Verändert, nicht bereitgestellt" + +#: git-gui.sh:1325 git-gui.sh:1330 +msgid "Staged for commit" +msgstr "Bereitgestellt zur Übertragung" + +#: git-gui.sh:1326 git-gui.sh:1331 +msgid "Portions staged for commit" +msgstr "Teilweise bereitgestellt zur Übertragung" + +#: git-gui.sh:1327 git-gui.sh:1332 +msgid "Staged for commit, missing" +msgstr "Bereitgestellt zur Übertragung, fehlend" + +#: git-gui.sh:1329 +msgid "Untracked, not staged" +msgstr "Nicht unter Versionskontrolle, nicht bereitgestellt" + +#: git-gui.sh:1334 +msgid "Missing" +msgstr "Fehlend" + +#: git-gui.sh:1335 +msgid "Staged for removal" +msgstr "Bereitgestellt zum Löschen" + +#: git-gui.sh:1336 +msgid "Staged for removal, still present" +msgstr "Bereitgestellt zum Löschen, trotzdem vorhanden" + +#: git-gui.sh:1338 git-gui.sh:1339 git-gui.sh:1340 git-gui.sh:1341 +msgid "Requires merge resolution" +msgstr "Konfliktauflösung nötig" + +#: git-gui.sh:1383 +msgid "Starting gitk... please wait..." +msgstr "Gitk wird gestartet... bitte warten." + +#: git-gui.sh:1392 +#, tcl-format +msgid "" +"Unable to start gitk:\n" +"\n" +"%s does not exist" +msgstr "" +"Gitk kann nicht gestartet werden:\n" +"\n" +"%s existiert nicht" + +#: git-gui.sh:1609 +#, tcl-format +msgid "Invalid font specified in gui.%s:" +msgstr "Ungültige Zeichensatz-Angabe in gui.%s:" + +#: git-gui.sh:1634 +msgid "Main Font" +msgstr "Programmschriftart" + +#: git-gui.sh:1635 +msgid "Diff/Console Font" +msgstr "Vergleich-Schriftart" + +#: git-gui.sh:1649 +msgid "Repository" +msgstr "Projektarchiv" + +#: git-gui.sh:1650 +msgid "Edit" +msgstr "Bearbeiten" + +#: git-gui.sh:1652 +msgid "Branch" +msgstr "Zweig" + +#: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152 +msgid "Commit" +msgstr "Übertragen" + +#: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "Zusammenführen" + +#: git-gui.sh:1659 +msgid "Fetch" +msgstr "Anfordern" + +#: git-gui.sh:1660 git-gui.sh:2158 lib/transport.tcl:88 lib/transport.tcl:172 +msgid "Push" +msgstr "Ausliefern" + +#: git-gui.sh:1669 +msgid "Browse Current Branch's Files" +msgstr "Aktuellen Zweig durchblättern" + +#: git-gui.sh:1673 +msgid "Browse Branch Files..." +msgstr "Einen Zweig durchblättern..." + +#: git-gui.sh:1678 +msgid "Visualize Current Branch's History" +msgstr "Aktuellen Zweig darstellen" + +#: git-gui.sh:1682 +msgid "Visualize All Branch History" +msgstr "Alle Zweige darstellen" + +#: git-gui.sh:1689 +#, tcl-format +msgid "Browse %s's Files" +msgstr "Zweig »%s« durchblättern" + +#: git-gui.sh:1691 +#, tcl-format +msgid "Visualize %s's History" +msgstr "Historie von »%s« darstellen" + +#: git-gui.sh:1696 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "Datenbankstatistik" + +#: git-gui.sh:1699 lib/database.tcl:34 +msgid "Compress Database" +msgstr "Datenbank komprimieren" + +#: git-gui.sh:1702 +msgid "Verify Database" +msgstr "Datenbank überprüfen" + +#: git-gui.sh:1709 git-gui.sh:1713 git-gui.sh:1717 lib/shortcut.tcl:9 +#: lib/shortcut.tcl:45 lib/shortcut.tcl:84 +msgid "Create Desktop Icon" +msgstr "Desktop-Icon erstellen" + +#: git-gui.sh:1722 +msgid "Quit" +msgstr "Beenden" + +#: git-gui.sh:1729 +msgid "Undo" +msgstr "Rückgängig" + +#: git-gui.sh:1732 +msgid "Redo" +msgstr "Wiederholen" + +#: git-gui.sh:1736 git-gui.sh:2222 +msgid "Cut" +msgstr "Ausschneiden" + +#: git-gui.sh:1739 git-gui.sh:2225 git-gui.sh:2296 git-gui.sh:2368 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "Kopieren" + +#: git-gui.sh:1742 git-gui.sh:2228 +msgid "Paste" +msgstr "Einfügen" + +#: git-gui.sh:1745 git-gui.sh:2231 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "Löschen" + +#: git-gui.sh:1749 git-gui.sh:2235 git-gui.sh:2372 lib/console.tcl:71 +msgid "Select All" +msgstr "Alle auswählen" + +#: git-gui.sh:1758 +msgid "Create..." +msgstr "Erstellen..." + +#: git-gui.sh:1764 +msgid "Checkout..." +msgstr "Auschecken..." + +#: git-gui.sh:1770 +msgid "Rename..." +msgstr "Umbenennen..." + +#: git-gui.sh:1775 git-gui.sh:1873 +msgid "Delete..." +msgstr "Löschen..." + +#: git-gui.sh:1780 +msgid "Reset..." +msgstr "Zurücksetzen..." + +#: git-gui.sh:1792 git-gui.sh:2169 +msgid "New Commit" +msgstr "Neu übertragen" + +#: git-gui.sh:1800 git-gui.sh:2176 +msgid "Amend Last Commit" +msgstr "Letzte Übertragung nachbessern" + +#: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "Neu laden" + +#: git-gui.sh:1815 +msgid "Stage To Commit" +msgstr "Zur Übertragung bereitstellen" + +#: git-gui.sh:1820 +msgid "Stage Changed Files To Commit" +msgstr "Geänderte Dateien zur Übertragung bereitstellen" + +#: git-gui.sh:1826 +msgid "Unstage From Commit" +msgstr "Aus der Bereitstellung herausnehmen" + +#: git-gui.sh:1831 lib/index.tcl:376 +msgid "Revert Changes" +msgstr "Änderungen revidieren" + +#: git-gui.sh:1838 git-gui.sh:2148 git-gui.sh:2246 +msgid "Sign Off" +msgstr "Abzeichnen" + +#: git-gui.sh:1853 +msgid "Local Merge..." +msgstr "Lokales Zusammenführen..." + +#: git-gui.sh:1858 +msgid "Abort Merge..." +msgstr "Zusammenführen abbrechen..." + +#: git-gui.sh:1870 +msgid "Push..." +msgstr "Ausliefern..." + +#: git-gui.sh:1880 +msgid "Apple" +msgstr "Apple" + +#: git-gui.sh:1883 git-gui.sh:1901 lib/option.tcl:65 +#, tcl-format +msgid "About %s" +msgstr "Über %s" + +#: git-gui.sh:1885 git-gui.sh:1891 git-gui.sh:2414 +msgid "Options..." +msgstr "Optionen..." + +#: git-gui.sh:1897 +msgid "Help" +msgstr "Hilfe" + +#: git-gui.sh:1938 +msgid "Online Documentation" +msgstr "Online-Dokumentation" + +#: git-gui.sh:2054 +msgid "Current Branch:" +msgstr "Aktueller Zweig:" + +#: git-gui.sh:2075 +msgid "Staged Changes (Will Be Committed)" +msgstr "Bereitgestellte Änderungen (werden übertragen)" + +#: git-gui.sh:2095 +msgid "Unstaged Changes (Will Not Be Committed)" +msgstr "Nicht bereitgestellte Änderungen (werden nicht übertragen)" + +#: git-gui.sh:2142 +msgid "Stage Changed" +msgstr "Geänderte bereitstellen" + +#: git-gui.sh:2188 +msgid "Initial Commit Message:" +msgstr "Erstmalige Übertragungsmeldung" + +#: git-gui.sh:2189 +msgid "Amended Commit Message:" +msgstr "Übertragungsmeldung mit Nachbesserung:" + +#: git-gui.sh:2190 +msgid "Amended Initial Commit Message:" +msgstr "Erstmalige Übertragungsmeldung mit Nachbesserung:" + +#: git-gui.sh:2191 +msgid "Amended Merge Commit Message:" +msgstr "Zusammenführungs-Übertragungsmeldung mit Nachbesserung" + +#: git-gui.sh:2192 +msgid "Merge Commit Message:" +msgstr "Übertragungsmeldung Zusammenführung:" + +#: git-gui.sh:2193 +msgid "Commit Message:" +msgstr "Übertragungsmeldung:" + +#: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73 +msgid "Copy All" +msgstr "Alle kopieren" + +#: git-gui.sh:2262 lib/blame.tcl:104 +msgid "File:" +msgstr "Datei:" + +#: git-gui.sh:2364 +msgid "Refresh" +msgstr "Aktualisieren" + +#: git-gui.sh:2385 +msgid "Apply/Reverse Hunk" +msgstr "Änderung anwenden/umkehren" + +#: git-gui.sh:2391 +msgid "Decrease Font Size" +msgstr "Schriftgröße verkleinern" + +#: git-gui.sh:2395 +msgid "Increase Font Size" +msgstr "Schriftgröße vergrößern" + +#: git-gui.sh:2400 +msgid "Show Less Context" +msgstr "Weniger Kontext anzeigen" + +#: git-gui.sh:2407 +msgid "Show More Context" +msgstr "Mehr Kontext anzeigen" + +#: git-gui.sh:2422 +msgid "Unstage Hunk From Commit" +msgstr "Aus der Bereitstellung herausnehmen" + +#: git-gui.sh:2426 git-gui.sh:2430 +msgid "Stage Hunk For Commit" +msgstr "In die Bereitstellung hinzufügen" + +#: git-gui.sh:2440 +msgid "Initializing..." +msgstr "Initialisieren..." + +#: lib/blame.tcl:77 +msgid "File Viewer" +msgstr "Datei-Browser" + +#: lib/blame.tcl:81 +msgid "Commit:" +msgstr "Übertragung:" + +#: lib/blame.tcl:249 +msgid "Copy Commit" +msgstr "Übertragung kopieren" + +#: lib/blame.tcl:369 +#, tcl-format +msgid "Reading %s..." +msgstr "%s lesen..." + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "Zweig auschecken" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "Auschecken" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283 +#: lib/checkout_op.tcl:522 lib/merge.tcl:172 lib/option.tcl:172 +#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +msgid "Cancel" +msgstr "Abbrechen" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:288 +msgid "Revision" +msgstr "Version" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 +#: lib/option.tcl:274 +msgid "Options" +msgstr "Optionen" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Übernahmezweig anfordern" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "Verbindung zu lokalem Zweig lösen" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "Zweig erstellen" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "Neuen Zweig erstellen" + +#: lib/branch_create.tcl:31 +msgid "Create" +msgstr "Erstellen" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "Zweigname" + +#: lib/branch_create.tcl:43 +msgid "Name:" +msgstr "Name:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "Passend zu Übernahmezweig-Name" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "Anfangsversion" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Existierenden Zweig aktualisieren:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "Nein" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Nur Schnellzusammenführung" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 +msgid "Reset" +msgstr "Zurücksetzen" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "Auschecken nach Erstellen" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "Bitte wählen Sie einen Übernahmezweig." + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "Übernahmezweig »%s« ist kein Zweig im Projektarchiv der Gegenseite." + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "Bitte geben Sie einen Zweignamen an." + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "»%s« ist kein zulässiger Zweigname." + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "Zweig löschen" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "Lokalen Zweig löschen" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "Lokale Zweige" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "Nur löschen, wenn darin zusammengeführt" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "Immer (ohne Zusammenführungstest)" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "Folgende Zweige sind noch nicht mit »%s« zusammengeführt:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"Gelöschte Zweige können nur mit größerem Aufwand wiederhergestellt werden.\n" +"\n" +"Gewählte Zweige jetzt löschen?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"Fehler beim Löschen der Zweige:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "Zweig umbenennen" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "Umbenennen" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "Zweig:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "Neuer Name:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "Bitte wählen Sie einen Zweig zum umbenennen." + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "Zweig »%s« existiert bereits." + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "Fehler beim Umbenennen von »%s«." + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "Starten..." + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "Datei-Browser" + +#: lib/browser.tcl:127 lib/browser.tcl:144 +#, tcl-format +msgid "Loading %s..." +msgstr "%s laden..." + +#: lib/browser.tcl:188 +msgid "[Up To Parent]" +msgstr "[Nach oben]" + +#: lib/browser.tcl:268 lib/browser.tcl:274 +msgid "Browse Branch Files" +msgstr "Dateien des Zweigs durchblättern" + +#: lib/browser.tcl:279 +msgid "Browse" +msgstr "Blättern" + +#: lib/checkout_op.tcl:79 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "Änderungen »%s« von »%s« anfordern" + +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +msgid "Close" +msgstr "Schließen" + +#: lib/checkout_op.tcl:169 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "Zweig »%s« existiert nicht." + +#: lib/checkout_op.tcl:206 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"Zweig »%s« existiert bereits.\n" +"\n" +"Zweig kann nicht mit »%s« schnellzusammengeführt werden. Reguläres " +"Zusammenführen ist notwendig." + +#: lib/checkout_op.tcl:220 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "Zusammenführungsmethode »%s« nicht unterstützt." + +#: lib/checkout_op.tcl:239 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Aktualisieren von »%s« fehlgeschlagen." + +#: lib/checkout_op.tcl:251 +msgid "Staging area (index) is already locked." +msgstr "Bereitstellung (»index«) ist zur Bearbeitung gesperrt (»locked«)." + +#: lib/checkout_op.tcl:266 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n" +"\n" +"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden " +"geändert. Vor dem Wechseln des lokalen Zweigs muss neu geladen werden.\n" +"\n" +"Es wird gleich neu geladen.\n" + +#: lib/checkout_op.tcl:353 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "" +"Auschecken von »%s« abgebrochen (Zusammenführen der Dateien ist notwendig)." + +#: lib/checkout_op.tcl:354 +msgid "File level merge required." +msgstr "Zusammenführen der Dateien ist notwendig." + +#: lib/checkout_op.tcl:358 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Es wird auf Zweig »%s« verblieben." + +#: lib/checkout_op.tcl:429 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Die Arbeitskopie ist nicht auf einem lokalen Zweig.\n" +"\n" +"Wenn Sie auf einem Zwei arbeiten möchten, erstellen Sie bitte jetzt einen " +"Zweig mit der Auswahl »Abgetrennte Auscheck-Version«." + +#: lib/checkout_op.tcl:478 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "Zurücksetzen von »%s« nach »%s« wird folgende Versionen verwerfen:" + +#: lib/checkout_op.tcl:500 +msgid "Recovering lost commits may not be easy." +msgstr "" +"Verworfene Versionen können nur mit größerem Aufwand wiederhergestellt " +"werden." + +#: lib/checkout_op.tcl:505 +#, tcl-format +msgid "Reset '%s'?" +msgstr "»%s« zurücksetzen?" + +#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +msgid "Visualize" +msgstr "Darstellen" + +#: lib/checkout_op.tcl:578 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Lokaler Zweig kann nicht gesetzt werden.\n" +"\n" +"Diese Arbeitskopie ist nur teilweise umgestellt. Die Dateien sind korrekt " +"aktualisiert, aber einige interne Git-Dateien konnten nicht geändert " +"werden.\n" +"\n" +"Dies ist ein interner Programmfehler von %s. Programm wird jetzt abgebrochen." + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "Abgetrennte Auscheck-Version" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "Version Regexp-Ausdruck:" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "Lokaler Zweig" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "Übernahmezweig" + +#: lib/choose_rev.tcl:84 +msgid "Tag" +msgstr "Markierung" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Ungültige Version: %s" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "Keine Version ausgewählt." + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "Versions-Ausdruck ist leer." + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Keine Version zur Nachbesserung vorhanden.\n" +"\n" +"Sie sind dabei, die erste Version zu übertragen. Es gibt keine existierende " +"Version, die Sie nachbessern könnten.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Nachbesserung währen Zusammenführung nicht möglich.\n" +"\n" +"Sie haben das Zusammenführen von Versionen angefangen, aber noch nicht " +"beendet. Sie können keine vorige Übertragung nachbessern, solange eine " +"unfertige Zusammenführung existiert. Dazu müssen Sie die Zusammenführung " +"beenden oder abbrechen.\n" + +#: lib/commit.tcl:49 +msgid "Error loading commit data for amend:" +msgstr "Fehler beim Laden der Versionsdaten für Nachbessern:" + +#: lib/commit.tcl:76 +msgid "Unable to obtain your identity:" +msgstr "Benutzername konnte nicht bestimmt werden:" + +#: lib/commit.tcl:81 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "Ungültiger Wert von GIT_COMMITTER_INDENT:" + +#: lib/commit.tcl:133 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n" +"\n" +"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden " +"geändert. Vor einer neuen Übertragung muss neu geladen werden.\n" +"\n" +"Es wird gleich neu geladen.\n" + +#: lib/commit.tcl:154 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"Nicht zusammengeführte Dateien können nicht übertragen werden.\n" +"\n" +"Die Datei %s hat noch nicht aufgelöste Zusammenführungs-Konflikte. Sie " +"müssen diese Konflikte auflösen, bevor Sie übertragen können.\n" + +#: lib/commit.tcl:162 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Unbekannter Dateizustand »%s«.\n" +"\n" +"Datei »%s« kann nicht übertragen werden.\n" + +#: lib/commit.tcl:170 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"Keine Änderungen vorhanden, die übertragen werden könnten.\n" +"\n" +"Sie müssen mindestens eine Datei bereitstellen, bevor Sie übertragen " +"können.\n" + +#: lib/commit.tcl:183 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentance what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Bitte geben Sie eine Übertragungsmeldung ein.\n" +"\n" +"Eine gute Übertragungsmeldung enthält folgende Abschnitte:\n" +"\n" +"- Erste Zeile: Eine Zusammenfassung, was man gemacht hat.\n" +"\n" +"- Zweite Zeile: Leerzeile\n" +"\n" +"- Rest der Meldung: Eine ausführliche Beschreibung, warum diese Änderung " +"hilfreich ist.\n" + +#: lib/commit.tcl:257 +msgid "write-tree failed:" +msgstr "write-tree fehlgeschlagen:" + +#: lib/commit.tcl:279 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Keine Änderungen zu übertragen.\n" +"\n" +"Es gibt keine geänderte Datei bei dieser Übertragung und es wurde auch " +"nichts zusammengeführt.\n" +"\n" +"Das Arbeitsverzeichnis wird daher jetzt neu geladen.\n" + +#: lib/commit.tcl:286 +msgid "No changes to commit." +msgstr "Keine Änderungen, die übertragen werden können." + +#: lib/commit.tcl:317 +msgid "commit-tree failed:" +msgstr "commit-tree fehlgeschlagen:" + +#: lib/commit.tcl:339 +msgid "update-ref failed:" +msgstr "update-ref fehlgeschlagen:" + +#: lib/commit.tcl:430 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Version %s übertragen: %s" + +#: lib/console.tcl:55 +msgid "Working... please wait..." +msgstr "Verarbeitung. Bitte warten..." + +#: lib/console.tcl:184 +msgid "Success" +msgstr "Erfolgreich" + +#: lib/console.tcl:194 +msgid "Error: Command Failed" +msgstr "Fehler: Kommando fehlgeschlagen" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "Anzahl unverknüpfter Objekte" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "Festplattenplatz von unverknüpften Objekten" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "Anzahl komprimierter Objekte" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "Anzahl Komprimierungseinheiten" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "Festplattenplatz von komprimierten Objekten" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "Komprimierte Objekte, die zum Löschen vorgesehen sind" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "Dateien im Mülleimer" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Objektdatenbank komprimieren" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Die Objektdatenbank durch »fsck-objects« überprüfen lassen" + +#: lib/diff.tcl:42 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"Keine Änderungen feststellbar.\n" +"\n" +"»%s« enthält keine Änderungen. Zwar wurde das Änderungsdatum dieser Datei " +"von einem anderen Programm modifiziert, aber der Inhalt der Datei ist " +"unverändert.\n" +"\n" +"Das Arbeitsverzeichnis wird jetzt neu geladen, um diese Änderung bei allen " +"Dateien zu prüfen." + +#: lib/diff.tcl:97 +msgid "Error loading file:" +msgstr "Fehler beim Laden der Datei:" + +#: lib/diff.tcl:162 +msgid "Error loading diff:" +msgstr "Fehler beim Laden des Vergleichs:" + +#: lib/diff.tcl:278 +msgid "Failed to unstage selected hunk." +msgstr "Fehler beim Herausnehmen der gewählten Dateien aus der Bereitstellung." + +#: lib/diff.tcl:285 +msgid "Failed to stage selected hunk." +msgstr "Fehler beim Bereitstellen der gewählten Dateien." + +#: lib/error.tcl:12 lib/error.tcl:102 +msgid "error" +msgstr "Fehler" + +#: lib/error.tcl:28 +msgid "warning" +msgstr "Warnung" + +#: lib/error.tcl:81 +msgid "You must correct the above errors before committing." +msgstr "" +"Sie müssen die obigen Fehler zuerst beheben, bevor Sie übertragen können." + +#: lib/index.tcl:364 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "Änderungen in Datei »%s« revidieren?" + +#: lib/index.tcl:366 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "Änderungen in den gewählten %i Dateien revidieren?" + +#: lib/index.tcl:372 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "" +"Alle nicht bereitgestellten Änderungen werden beim Revidieren verloren gehen." + +#: lib/index.tcl:375 +msgid "Do Nothing" +msgstr "Nichts tun" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"Zusammenführen kann nicht gleichzeitig mit Nachbessern durchgeführt werden.\n" +"\n" +"Sie müssen zuerst die Nachbesserungs-Übertragung abschließen, bevor Sie " +"zusammenführen können.\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n" +"\n" +"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden " +"geändert. Vor einem Zusammenführen muss neu geladen werden.\n" +"\n" +"Es wird gleich neu geladen.\n" + +#: lib/merge.tcl:44 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"Zusammenführung mit Konflikten.\n" +"\n" +"Die Datei »%s« enthält Konflikte beim Zusammenführen. Sie müssen diese " +"Konflikte per Hand auflösen. Anschließend müssen Sie die Datei wieder " +"bereitstellen und übertragen, um die Zusammenführung abzuschließen. Erst " +"danach kann eine neue Zusammenführung begonnen werden.\n" + +#: lib/merge.tcl:54 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"Es liegen Änderungen vor.\n" +"\n" +"Die Datei »%s« wurde geändert. Sie sollten zuerst die bereitgestellte " +"Übertragung abschließen, bevor Sie eine Zusammenführung beginnen. Mit " +"dieser Reihenfolge können Sie mögliche Konflikte beim Zusammenführen " +"wesentlich einfacher beheben oder abbrechen.\n" + +#: lib/merge.tcl:106 +#, tcl-format +msgid "%s of %s" +msgstr "%s von %s" + +#: lib/merge.tcl:119 +#, tcl-format +msgid "Merging %s and %s" +msgstr "Zusammenführen von %s und %s" + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "Zusammenführen erfolgreich abgeschlossen." + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "Zusammenführen fehlgeschlagen. Konfliktauflösung ist notwendig." + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "Zusammenführen in %s" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "Zusammenzuführende Version" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"Abbruch der Nachbesserung ist nicht möglich.\n" +"\n" +"Sie müssen die Nachbesserung der Übertragung abschließen.\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 "" +"Zusammenführen abbrechen?\n" +"\n" +"Wenn Sie abbrechen, gehen alle noch nicht übertragenen Änderungen verloren.\n" +"\n" +"Zusammenführen jetzt abbrechen?" + +#: 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 "" +"Änderungen zurücksetzen?\n" +"\n" +"Wenn Sie zurücksetzen, gehen alle noch nicht übertragenen Änderungen " +"verloren.\n" +"\n" +"Änderungen jetzt zurücksetzen?" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "Abbruch" + +#: lib/merge.tcl:266 +msgid "Abort failed." +msgstr "Abbruch fehlgeschlagen." + +#: lib/merge.tcl:268 +msgid "Abort completed. Ready." +msgstr "Abbruch durchgeführt. Bereit." + +#: lib/option.tcl:77 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - eine grafische Oberfläche für Git." + +#: lib/option.tcl:164 +msgid "Restore Defaults" +msgstr "Voreinstellungen wiederherstellen" + +#: lib/option.tcl:168 +msgid "Save" +msgstr "Speichern" + +#: lib/option.tcl:178 +#, tcl-format +msgid "%s Repository" +msgstr "Projektarchiv %s" + +#: lib/option.tcl:179 +msgid "Global (All Repositories)" +msgstr "Global (Alle Projektarchive)" + +#: lib/option.tcl:185 +msgid "User Name" +msgstr "Benutzername" + +#: lib/option.tcl:186 +msgid "Email Address" +msgstr "E-Mail-Adresse" + +#: lib/option.tcl:188 +msgid "Summarize Merge Commits" +msgstr "Zusammenführungs-Übertragungen zusammenfassen" + +#: lib/option.tcl:189 +msgid "Merge Verbosity" +msgstr "Ausführlichkeit der Zusammenführen-Meldungen" + +#: lib/option.tcl:190 +msgid "Show Diffstat After Merge" +msgstr "Vergleichsstatistik nach Zusammenführen anzeigen" + +#: lib/option.tcl:192 +msgid "Trust File Modification Timestamps" +msgstr "Auf Dateiänderungsdatum verlassen" + +#: lib/option.tcl:193 +msgid "Prune Tracking Branches During Fetch" +msgstr "Übernahmezweige löschen während Anforderung" + +#: lib/option.tcl:194 +msgid "Match Tracking Branches" +msgstr "Passend zu Übernahmezweig" + +#: lib/option.tcl:195 +msgid "Number of Diff Context Lines" +msgstr "Anzahl der Kontextzeilen beim Vergleich" + +#: lib/option.tcl:196 +msgid "New Branch Name Template" +msgstr "Namensvorschlag für neue Zweige" + +#: lib/option.tcl:305 +msgid "Failed to completely save options:" +msgstr "Optionen konnten nicht gespeichert werden:" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Remote Branch" +msgstr "Zweig im Projektarchiv der Gegenseite löschen" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "Von Projektarchiv" + +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +msgid "Remote:" +msgstr "Gegenseite:" + +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +msgid "Arbitrary URL:" +msgstr "Kommunikation mit URL:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "Zweige" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "Löschen, falls" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "Zusammenführen mit:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "Immer (Keine Zusammenführungsprüfung)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "Für »Zusammenführen mit« muss ein Zweig angegeben werden." + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"Ein oder mehrere Zusammenführungen sind fehlgeschlagen, da Sie nicht die " +"notwendigen Versionen vorher angefordert haben. Sie sollten versuchen, " +"zuerst von »%s« anzufordern." + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "Bitte wählen Sie mindestens einen Zweig, der gelöscht werden soll." + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"Das Wiederherstellen von gelöschten Zweigen ist nur mit größerem Aufwand " +"möglich.\n" +"\n" +"Sollen die ausgewählten Zweige gelöscht werden?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Zweige auf »%s« werden gelöscht" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "Kein Projektarchiv ausgewählt." + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "%s laden..." + +#: lib/remote.tcl:162 +#, tcl-format +msgid "Fetch from %s..." +msgstr "Von »%s« anfordern..." + +#: lib/remote.tcl:172 +#, tcl-format +msgid "Prune from %s..." +msgstr "Löschen von »%s«..." + +#: lib/remote.tcl:206 +#, tcl-format +msgid "Push to %s..." +msgstr "Nach %s ausliefern..." + +#: lib/shortcut.tcl:26 lib/shortcut.tcl:74 +msgid "Cannot write script:" +msgstr "Fehler beim Schreiben des Scripts:" + +#: lib/shortcut.tcl:149 +msgid "Cannot write icon:" +msgstr "Fehler beim Erstellen des Icons:" + +#: lib/status_bar.tcl:58 +#, tcl-format +msgid "%s ... %i of %i %s (%2i%%)" +msgstr "%s ... %i von %i %s (%2i%%)" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Neue Änderungen von »%s« holen" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "Übernahmezweige löschen, die in »%s« gelöscht wurden" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Änderungen nach %s ausliefern" + +#: lib/transport.tcl:68 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "%s %s nach %s ausliefern" + +#: lib/transport.tcl:84 +msgid "Push Branches" +msgstr "Zweige ausliefern" + +#: lib/transport.tcl:98 +msgid "Source Branches" +msgstr "Herkunftszweige" + +#: lib/transport.tcl:115 +msgid "Destination Repository" +msgstr "Ziel-Projektarchiv" + +#: lib/transport.tcl:153 +msgid "Transfer Options" +msgstr "Netzwerk-Einstellungen" + +#: lib/transport.tcl:155 +msgid "Use thin pack (for slow network connections)" +msgstr "Kompaktes Datenformat benutzen (für langsame Netzverbindungen)" + +#: lib/transport.tcl:159 +msgid "Include tags" +msgstr "Mit Markierungen übertragen" From 377eaa03961985b5fa379244ed89de51fbf08045 Mon Sep 17 00:00:00 2001 From: Xudong Guan Date: Sun, 22 Jul 2007 01:08:56 +0100 Subject: [PATCH 11/91] Initial Chinese translation for git-gui Simplified Chinese, in UTF-8 encoding. Signed-off-by: Xudong Guan Signed-off-by: Johannes Schindelin --- po/zh_cn.po | 1284 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1284 insertions(+) create mode 100644 po/zh_cn.po diff --git a/po/zh_cn.po b/po/zh_cn.po new file mode 100644 index 0000000000..45eb5b5f98 --- /dev/null +++ b/po/zh_cn.po @@ -0,0 +1,1284 @@ +# Translation of git-gui to Chinese +# Copyright (C) 2007 Shawn Pearce +# This file is distributed under the same license as the git-gui package. +# Xudong Guan , 2007. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: git-gui\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-07-27 19:33+0200\n" +"PO-Revision-Date: 2007-07-21 01:23-0700\n" +"Last-Translator: Xudong Guan \n" +"Language-Team: Chinese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: git-gui.sh:531 +msgid "Cannot find git in PATH." +msgstr "" + +#: git-gui.sh:550 +msgid "Cannot parse Git version string:" +msgstr "" + +#: git-gui.sh:567 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" + +#: git-gui.sh:689 +msgid "Cannot find the git directory:" +msgstr "" + +#: git-gui.sh:697 +msgid "Git directory not found:" +msgstr "" + +#: git-gui.sh:703 +msgid "Cannot use funny .git directory:" +msgstr "" + +#: git-gui.sh:708 +msgid "No working directory" +msgstr "" + +#: git-gui.sh:853 +msgid "Refreshing file status..." +msgstr "" + +#: git-gui.sh:886 +msgid "Scanning for modified files ..." +msgstr "" + +#: git-gui.sh:1052 lib/browser.tcl:233 +#, fuzzy +msgid "Ready." +msgstr "重做" + +#: git-gui.sh:1343 +msgid "Unmodified" +msgstr "" + +#: git-gui.sh:1345 +msgid "Modified, not staged" +msgstr "" + +#: git-gui.sh:1346 git-gui.sh:1351 +#, fuzzy +msgid "Staged for commit" +msgstr "从本次提交移除" + +#: git-gui.sh:1347 git-gui.sh:1352 +#, fuzzy +msgid "Portions staged for commit" +msgstr "从本次提交移除" + +#: git-gui.sh:1348 git-gui.sh:1353 +msgid "Staged for commit, missing" +msgstr "" + +#: git-gui.sh:1350 +msgid "Untracked, not staged" +msgstr "" + +#: git-gui.sh:1355 +msgid "Missing" +msgstr "" + +#: git-gui.sh:1356 +msgid "Staged for removal" +msgstr "" + +#: git-gui.sh:1357 +msgid "Staged for removal, still present" +msgstr "" + +#: git-gui.sh:1359 git-gui.sh:1360 git-gui.sh:1361 git-gui.sh:1362 +msgid "Requires merge resolution" +msgstr "" + +#: git-gui.sh:1404 +msgid "Starting gitk... please wait..." +msgstr "" + +#: git-gui.sh:1413 +#, tcl-format +msgid "" +"Unable to start gitk:\n" +"\n" +"%s does not exist" +msgstr "" + +#: git-gui.sh:1630 +#, tcl-format +msgid "Invalid font specified in gui.%s:" +msgstr "" + +#: git-gui.sh:1655 +msgid "Main Font" +msgstr "" + +#: git-gui.sh:1656 +msgid "Diff/Console Font" +msgstr "" + +#: git-gui.sh:1670 +msgid "Repository" +msgstr "版本树" + +#: git-gui.sh:1671 +msgid "Edit" +msgstr "编辑" + +#: git-gui.sh:1673 +msgid "Branch" +msgstr "分支" + +#: git-gui.sh:1676 git-gui.sh:1854 git-gui.sh:2193 +msgid "Commit" +msgstr "提交" + +#: git-gui.sh:1679 lib/merge.tcl:96 lib/merge.tcl:157 lib/merge.tcl:173 +msgid "Merge" +msgstr "合并" + +#: git-gui.sh:1680 +msgid "Fetch" +msgstr "导入" + +#: git-gui.sh:1681 git-gui.sh:2199 lib/transport.tcl:88 lib/transport.tcl:172 +msgid "Push" +msgstr "上传" + +#: git-gui.sh:1690 +msgid "Browse Current Branch's Files" +msgstr "浏览当前分支文件" + +#: git-gui.sh:1692 +#, fuzzy, tcl-format +msgid "Browse %s's Files" +msgstr "浏览当前分支文件" + +#: git-gui.sh:1694 +#, fuzzy +msgid "Browse Branch Files..." +msgstr "浏览当前分支文件" + +#: git-gui.sh:1699 +msgid "Visualize Current Branch's History" +msgstr "调用gitk显示当前分支" + +#: git-gui.sh:1701 +#, fuzzy, tcl-format +msgid "Visualize %s's History" +msgstr "调用gitk显示所有分支" + +#: git-gui.sh:1703 +msgid "Visualize All Branch History" +msgstr "调用gitk显示所有分支" + +#: git-gui.sh:1708 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "数据库统计数据" + +#: git-gui.sh:1711 lib/database.tcl:34 +msgid "Compress Database" +msgstr "压缩数据库" + +#: git-gui.sh:1714 +msgid "Verify Database" +msgstr "验证数据库" + +#: git-gui.sh:1721 git-gui.sh:1725 git-gui.sh:1729 lib/shortcut.tcl:9 +#: lib/shortcut.tcl:45 lib/shortcut.tcl:84 +msgid "Create Desktop Icon" +msgstr "创建桌面图标" + +#: git-gui.sh:1734 +msgid "Quit" +msgstr "退出" + +#: git-gui.sh:1741 +msgid "Undo" +msgstr "撤销" + +#: git-gui.sh:1744 +msgid "Redo" +msgstr "重做" + +#: git-gui.sh:1748 git-gui.sh:2263 +msgid "Cut" +msgstr "剪切" + +#: git-gui.sh:1751 git-gui.sh:2266 git-gui.sh:2337 git-gui.sh:2409 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "复制" + +#: git-gui.sh:1754 git-gui.sh:2269 +msgid "Paste" +msgstr "粘贴" + +#: git-gui.sh:1757 git-gui.sh:2272 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "删除" + +#: git-gui.sh:1761 git-gui.sh:2276 git-gui.sh:2413 lib/console.tcl:71 +msgid "Select All" +msgstr "全选" + +#: git-gui.sh:1770 +msgid "Create..." +msgstr "新建..." + +#: git-gui.sh:1776 +msgid "Checkout..." +msgstr "切换..." + +#: git-gui.sh:1782 +msgid "Rename..." +msgstr "改名..." + +#: git-gui.sh:1787 git-gui.sh:1885 +msgid "Delete..." +msgstr "删除..." + +#: git-gui.sh:1792 +msgid "Reset..." +msgstr "重置所有修动..." + +#: git-gui.sh:1804 git-gui.sh:2210 +msgid "New Commit" +msgstr "新提交" + +#: git-gui.sh:1812 git-gui.sh:2217 +msgid "Amend Last Commit" +msgstr "修订上次提交" + +#: git-gui.sh:1821 git-gui.sh:2177 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "重新扫描" + +#: git-gui.sh:1827 +msgid "Add To Commit" +msgstr "添加到本次提交" + +#: git-gui.sh:1832 +msgid "Add Existing To Commit" +msgstr "添加默认修改文件" + +#: git-gui.sh:1838 +msgid "Unstage From Commit" +msgstr "从本次提交移除" + +#: git-gui.sh:1843 lib/index.tcl:376 +msgid "Revert Changes" +msgstr "恢复修改" + +#: git-gui.sh:1850 git-gui.sh:2189 git-gui.sh:2287 +msgid "Sign Off" +msgstr "签名" + +#: git-gui.sh:1865 +msgid "Local Merge..." +msgstr "本地合并..." + +#: git-gui.sh:1870 +msgid "Abort Merge..." +msgstr "取消合并..." + +#: git-gui.sh:1882 +msgid "Push..." +msgstr "上传..." + +#: git-gui.sh:1892 +msgid "Apple" +msgstr "苹果" + +#: git-gui.sh:1895 git-gui.sh:1942 lib/option.tcl:65 +#, tcl-format +msgid "About %s" +msgstr "关于%s" + +#: git-gui.sh:1897 git-gui.sh:1903 git-gui.sh:2455 +msgid "Options..." +msgstr "选项..." + +#: git-gui.sh:1917 +msgid "Running miga..." +msgstr "" + +#: git-gui.sh:1938 +msgid "Help" +msgstr "帮助" + +#: git-gui.sh:1979 +msgid "Online Documentation" +msgstr "在线文档" + +#: git-gui.sh:2095 +msgid "Current Branch:" +msgstr "当前分支:" + +#: git-gui.sh:2116 +msgid "Staged Changes (Will Be Committed)" +msgstr "将被提交的修改" + +#: git-gui.sh:2136 +msgid "Unstaged Changes (Will Not Be Committed)" +msgstr "不被提交的修改" + +#: git-gui.sh:2183 +msgid "Add Existing" +msgstr "添加默认修改文件" + +#: git-gui.sh:2229 +msgid "Initial Commit Message:" +msgstr "初始提交描述:" + +#: git-gui.sh:2230 +msgid "Amended Commit Message:" +msgstr "修订提交描述:" + +#: git-gui.sh:2231 +msgid "Amended Initial Commit Message:" +msgstr "修订初始提交描述:" + +#: git-gui.sh:2232 +msgid "Amended Merge Commit Message:" +msgstr "修订合并提交描述:" + +#: git-gui.sh:2233 +msgid "Merge Commit Message:" +msgstr "合并提交描述:" + +#: git-gui.sh:2234 +msgid "Commit Message:" +msgstr "提交描述:" + +#: git-gui.sh:2279 git-gui.sh:2417 lib/console.tcl:73 +msgid "Copy All" +msgstr "全部复制" + +#: git-gui.sh:2303 lib/blame.tcl:104 +msgid "File:" +msgstr "" + +#: git-gui.sh:2405 +msgid "Refresh" +msgstr "刷新" + +#: git-gui.sh:2426 +msgid "Apply/Reverse Hunk" +msgstr "应用/撤消此修改块" + +#: git-gui.sh:2432 +msgid "Decrease Font Size" +msgstr "缩小字体" + +#: git-gui.sh:2436 +msgid "Increase Font Size" +msgstr "放大字体" + +#: git-gui.sh:2441 +msgid "Show Less Context" +msgstr "显示更多diff上下文" + +#: git-gui.sh:2448 +msgid "Show More Context" +msgstr "显示更少diff上下文" + +#: git-gui.sh:2461 +#, fuzzy +msgid "Unstage Hunk From Commit" +msgstr "从本次提交移除" + +#: git-gui.sh:2463 +#, fuzzy +msgid "Stage Hunk For Commit" +msgstr "从本次提交移除" + +#: git-gui.sh:2473 +msgid "Initializing..." +msgstr "" + +#: lib/blame.tcl:77 +msgid "File Viewer" +msgstr "" + +#: lib/blame.tcl:81 +#, fuzzy +msgid "Commit:" +msgstr "提交" + +#: lib/blame.tcl:249 +#, fuzzy +msgid "Copy Commit" +msgstr "提交" + +#: lib/blame.tcl:369 +#, tcl-format +msgid "Reading %s..." +msgstr "" + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +#, fuzzy +msgid "Checkout Branch" +msgstr "当前分支:" + +#: lib/branch_checkout.tcl:23 +#, fuzzy +msgid "Checkout" +msgstr "切换..." + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:269 +#: lib/checkout_op.tcl:519 lib/merge.tcl:176 lib/option.tcl:172 +#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +msgid "Cancel" +msgstr "" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:274 +msgid "Revision" +msgstr "" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 +#: lib/option.tcl:274 +#, fuzzy +msgid "Options" +msgstr "选项..." + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "" + +#: lib/branch_create.tcl:22 +#, fuzzy +msgid "Create Branch" +msgstr "当前分支:" + +#: lib/branch_create.tcl:27 +#, fuzzy +msgid "Create New Branch" +msgstr "当前分支:" + +#: lib/branch_create.tcl:31 +#, fuzzy +msgid "Create" +msgstr "新建..." + +#: lib/branch_create.tcl:40 +#, fuzzy +msgid "Branch Name" +msgstr "分支" + +#: lib/branch_create.tcl:43 +msgid "Name:" +msgstr "" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:511 +#, fuzzy +msgid "Reset" +msgstr "重置所有修动..." + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "" + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "" + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "" + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "" + +#: lib/branch_delete.tcl:15 +#, fuzzy +msgid "Delete Branch" +msgstr "当前分支:" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "" + +#: lib/branch_delete.tcl:37 +#, fuzzy +msgid "Local Branches" +msgstr "分支" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +#, fuzzy +msgid "Rename Branch" +msgstr "当前分支:" + +#: lib/branch_rename.tcl:26 +#, fuzzy +msgid "Rename" +msgstr "改名..." + +#: lib/branch_rename.tcl:36 +#, fuzzy +msgid "Branch:" +msgstr "分支" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "" + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "" + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "" + +#: lib/browser.tcl:10 +msgid "Starting..." +msgstr "" + +#: lib/browser.tcl:19 +msgid "File Browser" +msgstr "" + +#: lib/browser.tcl:120 lib/browser.tcl:137 +#, tcl-format +msgid "Loading %s..." +msgstr "" + +#: lib/browser.tcl:254 lib/browser.tcl:260 +#, fuzzy +msgid "Browse Branch Files" +msgstr "浏览当前分支文件" + +#: lib/browser.tcl:265 +msgid "Browse" +msgstr "" + +#: lib/checkout_op.tcl:79 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "" + +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +msgid "Close" +msgstr "" + +#: lib/checkout_op.tcl:169 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "" + +#: lib/checkout_op.tcl:205 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" + +#: lib/checkout_op.tcl:219 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "" + +#: lib/checkout_op.tcl:238 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "" + +#: lib/checkout_op.tcl:250 +msgid "Index is already locked." +msgstr "" + +#: lib/checkout_op.tcl:265 +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:352 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "" + +#: lib/checkout_op.tcl:353 +msgid "File level merge required." +msgstr "" + +#: lib/checkout_op.tcl:357 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "" + +#: lib/checkout_op.tcl:426 +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:475 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "" + +#: lib/checkout_op.tcl:497 +msgid "Recovering lost commits may not be easy." +msgstr "" + +#: lib/checkout_op.tcl:502 +#, tcl-format +msgid "Reset '%s'?" +msgstr "" + +#: lib/checkout_op.tcl:507 lib/merge.tcl:171 +msgid "Visualize" +msgstr "" + +#: lib/checkout_op.tcl:575 +#, 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_rev.tcl:35 +msgid "This Detached Checkout" +msgstr "" + +#: lib/choose_rev.tcl:42 +msgid "Revision Expression:" +msgstr "" + +#: lib/choose_rev.tcl:56 +#, fuzzy +msgid "Local Branch" +msgstr "分支" + +#: lib/choose_rev.tcl:61 +#, fuzzy +msgid "Tracking Branch" +msgstr "当前分支:" + +#: lib/choose_rev.tcl:66 +msgid "Tag" +msgstr "" + +#: lib/choose_rev.tcl:227 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "" + +#: lib/choose_rev.tcl:248 +msgid "No revision selected." +msgstr "" + +#: lib/choose_rev.tcl:256 +msgid "Revision expression is empty." +msgstr "" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" + +#: lib/commit.tcl:49 +msgid "Error loading commit data for amend:" +msgstr "" + +#: lib/commit.tcl:76 +msgid "Unable to obtain your identity:" +msgstr "" + +#: lib/commit.tcl:81 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "" + +#: 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:154 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and add the file before " +"committing.\n" +msgstr "" + +#: lib/commit.tcl:162 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" + +#: lib/commit.tcl:170 +msgid "" +"No changes to commit.\n" +"\n" +"You must add at least 1 file before you can commit.\n" +msgstr "" + +#: lib/commit.tcl:183 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentance what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" + +#: lib/commit.tcl:257 +msgid "write-tree failed:" +msgstr "" + +#: lib/commit.tcl:279 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" + +#: lib/commit.tcl:286 +msgid "No changes to commit." +msgstr "" + +#: lib/commit.tcl:317 +msgid "commit-tree failed:" +msgstr "" + +#: lib/commit.tcl:339 +msgid "update-ref failed:" +msgstr "" + +#: lib/commit.tcl:430 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "" + +#: lib/console.tcl:55 +msgid "Working... please wait..." +msgstr "" + +#: lib/console.tcl:184 +msgid "Success" +msgstr "" + +#: lib/console.tcl:194 +msgid "Error: Command Failed" +msgstr "" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "" + +#: lib/database.tcl:72 +#, fuzzy +msgid "Compressing the object database" +msgstr "压缩数据库" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "" + +#: lib/diff.tcl:42 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" + +#: lib/diff.tcl:97 +msgid "Error loading file:" +msgstr "" + +#: lib/diff.tcl:162 +msgid "Error loading diff:" +msgstr "" + +#: lib/diff.tcl:278 +msgid "Failed to unstage selected hunk." +msgstr "" + +#: lib/diff.tcl:285 +msgid "Failed to stage selected hunk." +msgstr "" + +#: lib/error.tcl:12 lib/error.tcl:102 +msgid "error" +msgstr "" + +#: lib/error.tcl:28 +msgid "warning" +msgstr "" + +#: lib/error.tcl:81 +msgid "You must correct the above errors before committing." +msgstr "" + +#: lib/index.tcl:364 +#, fuzzy, tcl-format +msgid "Revert changes in file %s?" +msgstr "恢复修改" + +#: lib/index.tcl:366 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "" + +#: lib/index.tcl:372 +msgid "Any unadded changes will be permanently lost by the revert." +msgstr "" + +#: lib/index.tcl:375 +msgid "Do Nothing" +msgstr "" + +#: lib/merge.tcl:14 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" + +#: lib/merge.tcl:28 +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, add 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:94 +#, tcl-format +msgid "Merging %s and %s" +msgstr "" + +#: lib/merge.tcl:106 +msgid "Merge completed successfully." +msgstr "" + +#: lib/merge.tcl:108 +msgid "Merge failed. Conflict resolution is required." +msgstr "" + +#: lib/merge.tcl:166 +#, tcl-format +msgid "Merge Into %s" +msgstr "" + +#: lib/merge.tcl:181 lib/transport.tcl:98 +#, fuzzy +msgid "Source Branches" +msgstr "当前分支:" + +#: lib/merge.tcl:240 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" + +#: lib/merge.tcl:250 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" + +#: lib/merge.tcl:256 +msgid "" +"Abort commit?\n" +"\n" +"Aborting the current commit will cause *ALL* uncommitted changes to be " +"lost.\n" +"\n" +"Continue with aborting the current commit?" +msgstr "" + +#: lib/merge.tcl:267 +msgid "Aborting... please wait..." +msgstr "" + +#: lib/merge.tcl:290 +msgid "Abort completed. Ready." +msgstr "" + +#: lib/option.tcl:77 +msgid "git-gui - a graphical user interface for Git." +msgstr "" + +#: lib/option.tcl:164 +msgid "Restore Defaults" +msgstr "" + +#: lib/option.tcl:168 +msgid "Save" +msgstr "" + +#: lib/option.tcl:178 +#, fuzzy, tcl-format +msgid "%s Repository" +msgstr "版本树" + +#: lib/option.tcl:179 +msgid "Global (All Repositories)" +msgstr "" + +#: lib/option.tcl:185 +msgid "User Name" +msgstr "" + +#: lib/option.tcl:186 +msgid "Email Address" +msgstr "" + +#: lib/option.tcl:188 +#, fuzzy +msgid "Summarize Merge Commits" +msgstr "修订合并提交描述:" + +#: lib/option.tcl:189 +msgid "Merge Verbosity" +msgstr "" + +#: lib/option.tcl:190 +msgid "Show Diffstat After Merge" +msgstr "" + +#: lib/option.tcl:192 +msgid "Trust File Modification Timestamps" +msgstr "" + +#: lib/option.tcl:193 +msgid "Prune Tracking Branches During Fetch" +msgstr "" + +#: lib/option.tcl:194 +msgid "Match Tracking Branches" +msgstr "" + +#: lib/option.tcl:195 +msgid "Number of Diff Context Lines" +msgstr "" + +#: lib/option.tcl:196 +msgid "New Branch Name Template" +msgstr "" + +#: lib/option.tcl:305 +msgid "Failed to completely save options:" +msgstr "" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Remote Branch" +msgstr "" + +#: lib/remote_branch_delete.tcl:47 +#, fuzzy +msgid "From Repository" +msgstr "版本树" + +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +msgid "Remote:" +msgstr "" + +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +msgid "Arbitrary URL:" +msgstr "" + +#: lib/remote_branch_delete.tcl:84 +#, fuzzy +msgid "Branches" +msgstr "分支" + +#: lib/remote_branch_delete.tcl:109 +#, fuzzy +msgid "Delete Only If" +msgstr "删除" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "" + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "" + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "" + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "" + +#: lib/remote.tcl:156 +#, tcl-format +msgid "Fetch from %s..." +msgstr "" + +#: lib/remote.tcl:166 +#, tcl-format +msgid "Prune from %s..." +msgstr "" + +#: lib/remote.tcl:200 +#, fuzzy, tcl-format +msgid "Push to %s..." +msgstr "上传..." + +#: lib/shortcut.tcl:26 lib/shortcut.tcl:74 +msgid "Cannot write script:" +msgstr "" + +#: lib/shortcut.tcl:149 +msgid "Cannot write icon:" +msgstr "" + +#: lib/status_bar.tcl:58 +#, tcl-format +msgid "%s ... %i of %i %s (%2i%%)" +msgstr "" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "" + +#: lib/transport.tcl:68 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "" + +#: lib/transport.tcl:84 +#, fuzzy +msgid "Push Branches" +msgstr "分支" + +#: lib/transport.tcl:115 +#, fuzzy +msgid "Destination Repository" +msgstr "版本树" + +#: lib/transport.tcl:153 +msgid "Transfer Options" +msgstr "" + +#: lib/transport.tcl:155 +msgid "Use thin pack (for slow network connections)" +msgstr "" + +#: lib/transport.tcl:159 +msgid "Include tags" +msgstr "" From 2340a74e5f64243a10ae2daa9403baa28f3d9d11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=97=E3=82=89=E3=81=84=E3=81=97=E3=81=AA=E3=81=AA?= =?UTF-8?q?=E3=81=93?= Date: Wed, 25 Jul 2007 17:59:58 +0900 Subject: [PATCH 12/91] Japanese translation of git-gui MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit [jes: Also includes work from Junio Hamano] Signed-off-by: しらいしななこ Signed-off-by: Johannes Schindelin --- po/ja.po | 1381 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1381 insertions(+) create mode 100644 po/ja.po diff --git a/po/ja.po b/po/ja.po new file mode 100644 index 0000000000..17139080ec --- /dev/null +++ b/po/ja.po @@ -0,0 +1,1381 @@ +# Translation of git-gui to Japanese +# Copyright (C) 2007 Shawn Pearce +# This file is distributed under the same license as the git-gui package. +# しらいし ななこ , 2007. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: git-gui\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-11 17:28+0200\n" +"PO-Revision-Date: 2007-08-14 18:49+0900\n" +"Last-Translator: しらいし ななこ \n" +"Language-Team: Japanese\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: git-gui.sh:531 +msgid "Cannot find git in PATH." +msgstr "PATH 中に git が見つかりません" + +#: git-gui.sh:550 +msgid "Cannot parse Git version string:" +msgstr "Git バージョン名が理解できません:" + +#: git-gui.sh:567 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"Git のバージョンが確認できません。\n" +"\n" +"%s はバージョン '%s' とのことです。\n" +"\n" +"%s は最低でも 1.5.0 かそれ以降の Git が必要です\n" +"\n" +"'%s' はバージョン 1.5.0 と思って良いですか?\n" + +#: git-gui.sh:689 +msgid "Cannot find the git directory:" +msgstr "git ディレクトリが見つかりません:" + +#: git-gui.sh:697 +msgid "Git directory not found:" +msgstr "Git ディレクトリが見つかりません:" + +#: git-gui.sh:703 +msgid "Cannot use funny .git directory:" +msgstr "変な .git ディレクトリは使えません" + +#: git-gui.sh:708 +msgid "No working directory" +msgstr "作業ディレクトリがありません" + +#: git-gui.sh:854 +msgid "Refreshing file status..." +msgstr "ファイル状態を更新しています…" + +#: git-gui.sh:891 +msgid "Scanning for modified files ..." +msgstr "変更されたファイルをスキャンしています…" + +#: git-gui.sh:1057 lib/browser.tcl:247 +msgid "Ready." +msgstr "準備完了" + +#: git-gui.sh:1322 +msgid "Unmodified" +msgstr "変更無し" + +#: git-gui.sh:1324 +msgid "Modified, not staged" +msgstr "変更あり、コミット未予定" + +#: git-gui.sh:1325 git-gui.sh:1330 +msgid "Staged for commit" +msgstr "コミット予定済" + +#: git-gui.sh:1326 git-gui.sh:1331 +msgid "Portions staged for commit" +msgstr "部分的にコミット予定済" + +#: git-gui.sh:1327 git-gui.sh:1332 +msgid "Staged for commit, missing" +msgstr "コミット予定済、ファイル無し" + +#: git-gui.sh:1329 +msgid "Untracked, not staged" +msgstr "管理外、コミット未予定" + +#: git-gui.sh:1334 +msgid "Missing" +msgstr "ファイル無し" + +#: git-gui.sh:1335 +msgid "Staged for removal" +msgstr "削除予定済" + +#: git-gui.sh:1336 +msgid "Staged for removal, still present" +msgstr "削除予定済、ファイル未削除" + +#: git-gui.sh:1338 git-gui.sh:1339 git-gui.sh:1340 git-gui.sh:1341 +msgid "Requires merge resolution" +msgstr "要マージ解決" + +#: git-gui.sh:1383 +msgid "Starting gitk... please wait..." +msgstr "gitk を起動中…お待ち下さい…" + +#: git-gui.sh:1392 +#, tcl-format +msgid "" +"Unable to start gitk:\n" +"\n" +"%s does not exist" +msgstr "" +"gitk を起動できません:\n" +"\n" +"%s がありません" + +#: git-gui.sh:1609 +#, tcl-format +msgid "Invalid font specified in gui.%s:" +msgstr "gui.%s に無効なフォントが指定されています:" + +#: git-gui.sh:1634 +msgid "Main Font" +msgstr "主フォント" + +#: git-gui.sh:1635 +msgid "Diff/Console Font" +msgstr "diff/コンソール・フォント" + +#: git-gui.sh:1649 +msgid "Repository" +msgstr "リポジトリ" + +#: git-gui.sh:1650 +msgid "Edit" +msgstr "編集" + +#: git-gui.sh:1652 +msgid "Branch" +msgstr "ブランチ" + +#: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152 +msgid "Commit" +msgstr "コミット" + +#: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "マージ" + +#: git-gui.sh:1659 +msgid "Fetch" +msgstr "フェッチ" + +#: git-gui.sh:1660 git-gui.sh:2158 lib/transport.tcl:88 lib/transport.tcl:172 +msgid "Push" +msgstr "プッシュ" + +#: git-gui.sh:1669 +msgid "Browse Current Branch's Files" +msgstr "現在のブランチのファイルを見る" + +#: git-gui.sh:1673 +msgid "Browse Branch Files..." +msgstr "ブランチのファイルを見る…" + +#: git-gui.sh:1678 +msgid "Visualize Current Branch's History" +msgstr "現在のブランチの履歴を見る" + +#: git-gui.sh:1682 +msgid "Visualize All Branch History" +msgstr "全てのブランチの履歴を見る" + +#: git-gui.sh:1689 +#, tcl-format +msgid "Browse %s's Files" +msgstr "ブランチ %s のファイルを見る" + +#: git-gui.sh:1691 +#, tcl-format +msgid "Visualize %s's History" +msgstr "ブランチ %s の履歴を見る" + +#: git-gui.sh:1696 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "データベース統計" + +#: git-gui.sh:1699 lib/database.tcl:34 +msgid "Compress Database" +msgstr "データベース圧縮" + +#: git-gui.sh:1702 +msgid "Verify Database" +msgstr "データベース検証" + +#: git-gui.sh:1709 git-gui.sh:1713 git-gui.sh:1717 lib/shortcut.tcl:9 +#: lib/shortcut.tcl:45 lib/shortcut.tcl:84 +msgid "Create Desktop Icon" +msgstr "デスクトップ・アイコンを作る" + +#: git-gui.sh:1722 +msgid "Quit" +msgstr "終了" + +#: git-gui.sh:1729 +msgid "Undo" +msgstr "元に戻す" + +#: git-gui.sh:1732 +msgid "Redo" +msgstr "やり直し" + +#: git-gui.sh:1736 git-gui.sh:2222 +msgid "Cut" +msgstr "切り取り" + +#: git-gui.sh:1739 git-gui.sh:2225 git-gui.sh:2296 git-gui.sh:2368 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "コピー" + +#: git-gui.sh:1742 git-gui.sh:2228 +msgid "Paste" +msgstr "貼り付け" + +#: git-gui.sh:1745 git-gui.sh:2231 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "削除" + +#: git-gui.sh:1749 git-gui.sh:2235 git-gui.sh:2372 lib/console.tcl:71 +msgid "Select All" +msgstr "全て選択" + +#: git-gui.sh:1758 +msgid "Create..." +msgstr "作成…" + +#: git-gui.sh:1764 +msgid "Checkout..." +msgstr "チェックアウト" + +#: git-gui.sh:1770 +msgid "Rename..." +msgstr "名前変更…" + +#: git-gui.sh:1775 git-gui.sh:1873 +msgid "Delete..." +msgstr "削除…" + +#: git-gui.sh:1780 +msgid "Reset..." +msgstr "リセット…" + +#: git-gui.sh:1792 git-gui.sh:2169 +msgid "New Commit" +msgstr "新規コミット" + +#: git-gui.sh:1800 git-gui.sh:2176 +msgid "Amend Last Commit" +msgstr "最新コミットを訂正" + +#: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "再スキャン" + +#: git-gui.sh:1815 +msgid "Stage To Commit" +msgstr "コミット予定する" + +#: git-gui.sh:1820 +msgid "Stage Changed Files To Commit" +msgstr "変更されたファイルをコミット予定" + +#: git-gui.sh:1826 +msgid "Unstage From Commit" +msgstr "コミットから降ろす" + +#: git-gui.sh:1831 lib/index.tcl:376 +msgid "Revert Changes" +msgstr "変更を元に戻す" + +#: git-gui.sh:1838 git-gui.sh:2148 git-gui.sh:2246 +msgid "Sign Off" +msgstr "署名" + +#: git-gui.sh:1853 +msgid "Local Merge..." +msgstr "ローカル・マージ…" + +#: git-gui.sh:1858 +msgid "Abort Merge..." +msgstr "マージ中止…" + +#: git-gui.sh:1870 +msgid "Push..." +msgstr "プッシュ…" + +#: git-gui.sh:1880 +msgid "Apple" +msgstr "りんご" + +#: git-gui.sh:1883 git-gui.sh:1901 lib/option.tcl:65 +#, tcl-format +msgid "About %s" +msgstr "%s について" + +#: git-gui.sh:1885 git-gui.sh:1891 git-gui.sh:2414 +msgid "Options..." +msgstr "オプション…" + +#: git-gui.sh:1897 +msgid "Help" +msgstr "ヘルプ" + +#: git-gui.sh:1938 +msgid "Online Documentation" +msgstr "オンライン・ドキュメント" + +#: git-gui.sh:2054 +msgid "Current Branch:" +msgstr "現在のブランチ" + +#: git-gui.sh:2075 +msgid "Staged Changes (Will Be Committed)" +msgstr "ステージングされた(コミット予定済の)変更" + +#: git-gui.sh:2095 +msgid "Unstaged Changes (Will Not Be Committed)" +msgstr "ステージングされていない(コミット未予定の)変更" + +#: git-gui.sh:2142 +msgid "Stage Changed" +msgstr "変更をコミット予定に入れる" + +#: git-gui.sh:2188 +msgid "Initial Commit Message:" +msgstr "最初のコミットメッセージ:" + +#: git-gui.sh:2189 +msgid "Amended Commit Message:" +msgstr "訂正したコミットメッセージ:" + +#: git-gui.sh:2190 +msgid "Amended Initial Commit Message:" +msgstr "訂正した最初のコミットメッセージ:" + +#: git-gui.sh:2191 +msgid "Amended Merge Commit Message:" +msgstr "訂正したマージコミットメッセージ:" + +#: git-gui.sh:2192 +msgid "Merge Commit Message:" +msgstr "マージコミットメッセージ:" + +#: git-gui.sh:2193 +msgid "Commit Message:" +msgstr "コミットメッセージ:" + +#: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73 +msgid "Copy All" +msgstr "全てコピー" + +#: git-gui.sh:2262 lib/blame.tcl:104 +msgid "File:" +msgstr "ファイル:" + +#: git-gui.sh:2364 +msgid "Refresh" +msgstr "再読み込み" + +#: git-gui.sh:2385 +msgid "Apply/Reverse Hunk" +msgstr "パッチを適用/取り消す" + +#: git-gui.sh:2391 +msgid "Decrease Font Size" +msgstr "フォントを小さく" + +#: git-gui.sh:2395 +msgid "Increase Font Size" +msgstr "フォントを大きく" + +#: git-gui.sh:2400 +msgid "Show Less Context" +msgstr "文脈を少なく" + +#: git-gui.sh:2407 +msgid "Show More Context" +msgstr "文脈を多く" + +#: git-gui.sh:2422 +msgid "Unstage Hunk From Commit" +msgstr "パッチをコミット予定から外す" + +#: git-gui.sh:2426 git-gui.sh:2430 +msgid "Stage Hunk For Commit" +msgstr "パッチをコミット予定に加える" + +#: git-gui.sh:2440 +msgid "Initializing..." +msgstr "初期化しています…" + +#: lib/blame.tcl:77 +msgid "File Viewer" +msgstr "ファイルピューワ" + +#: lib/blame.tcl:81 +msgid "Commit:" +msgstr "コミット:" + +#: lib/blame.tcl:249 +msgid "Copy Commit" +msgstr "コミットをコピー" + +#: lib/blame.tcl:369 +#, tcl-format +msgid "Reading %s..." +msgstr "%s を読んでいます…" + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "ブランチをチェックアウト" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "チェックアウト" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283 +#: lib/checkout_op.tcl:522 lib/merge.tcl:172 lib/option.tcl:172 +#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +msgid "Cancel" +msgstr "中止" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:288 +msgid "Revision" +msgstr "リビジョン" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 +#: lib/option.tcl:274 +msgid "Options" +msgstr "オプション" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "トラッキング・ブランチをフェッチ" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "ローカル・ブランチから削除" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "ブランチを作成" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "ブランチを新規作成" + +#: lib/branch_create.tcl:31 +msgid "Create" +msgstr "作成" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "ブランチ名" + +#: lib/branch_create.tcl:43 +msgid "Name:" +msgstr "名前:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "トラッキング・ブランチ名を合わせる" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "初期リビジョン" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "既存のブランチを更新:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "いいえ" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "早送りのみ" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 +msgid "Reset" +msgstr "リセット" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "作成してすぐチェックアウト" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "トラッキング・ブランチを選択して下さい。" + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "トラッキング・ブランチ %s は遠隔リポジトリのブランチではありません。" + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "ブランチ名を指定して下さい。" + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "'%s' はブランチ名に使えません。" + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "ブランチ削除" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "ローカル・ブランチを削除" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "ローカル・ブランチ" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "マージ済みの時のみ削除" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "無条件(マージテストしない)" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "以下のブランチは %s に完全にマージされていません:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"ブランチを削除すると元に戻すのは困難です。 \n" +"\n" +" 選択したブランチを削除しますか?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"以下のブランチを削除できません:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "ブランチの名前変更" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "名前変更" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "ブランチ:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "新しい名前:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "名前を変更するブランチを選んで下さい。" + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "'%s'というブランチは既に存在します。" + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "'%s'の名前変更に失敗しました。" + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "起動中…" + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "ファイル・ブラウザ" + +#: lib/browser.tcl:127 lib/browser.tcl:144 +#, tcl-format +msgid "Loading %s..." +msgstr "%s をロード中…" + +#: lib/browser.tcl:188 +msgid "[Up To Parent]" +msgstr "[上位フォルダへ]" + +#: lib/browser.tcl:268 lib/browser.tcl:274 +msgid "Browse Branch Files" +msgstr "現在のブランチのファイルを見る" + +#: lib/browser.tcl:279 +msgid "Browse" +msgstr "ブラウズ" + +#: lib/checkout_op.tcl:79 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "%s から %s をフェッチしています" + +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +msgid "Close" +msgstr "閉じる" + +#: lib/checkout_op.tcl:169 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "ブランチ'%s'は存在しません。" + +#: lib/checkout_op.tcl:206 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"ブランチ '%s' は既に存在します。\n" +"\n" +"%s に早送りできません。\n" +"マージが必要です。" + +#: lib/checkout_op.tcl:220 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "'%s' マージ戦略はサポートされていません。" + +#: lib/checkout_op.tcl:239 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "'%s' の更新に失敗しました。" + +#: lib/checkout_op.tcl:251 +msgid "Staging area (index) is already locked." +msgstr "インデックスは既にロックされています。" + +#: lib/checkout_op.tcl:266 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"最後にスキャンした状態はリポジトリの状態と合致しません。\n" +"\n" +"最後にスキャンして以後、別の Git プログラムがリポジトリを変更しています。現在" +"のブランチを変更する前に、再スキャンが必要です。\n" +"\n" +"自動的に再スキャンを開始します。\n" + +#: lib/checkout_op.tcl:353 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "'%s' のチェックアウトを中止しました(ファイル毎のマージが必要です)。" + +#: lib/checkout_op.tcl:354 +msgid "File level merge required." +msgstr "ファイル毎のマージが必要です。" + +#: lib/checkout_op.tcl:358 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "ブランチ '%s' に滞まります。" + +#: lib/checkout_op.tcl:429 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"ローカル・ブランチから離れます。\n" +"\n" +"ブランチ上に滞まりたいときは、この「分離されたチェックアウト」から新規ブラン" +"チを開始してください。" + +#: lib/checkout_op.tcl:478 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "'%s' を '%s' にリセットすると、以下のコミットが失なわれます:" + +#: lib/checkout_op.tcl:500 +msgid "Recovering lost commits may not be easy." +msgstr "失なわれたコミットを回復するのは簡単ではありません。" + +#: lib/checkout_op.tcl:505 +#, tcl-format +msgid "Reset '%s'?" +msgstr "'%s' をリセットしますか?" + +#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +msgid "Visualize" +msgstr "可視化" + +#: lib/checkout_op.tcl:578 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"現在のブランチを設定できません。\n" +"\n" +"作業ディレクトリは部分的にしか切り替わっていません。ファイルの更新には成功し" +"ましたが、 Git の内部データを更新できませんでした。\n" +"起こるはずのないエラーです。あきらめて %s を終了します。" + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "分離されたチェックアウト" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "リビジョン式:" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "ローカル・ブランチ" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "トラッキング・ブランチ" + +#: lib/choose_rev.tcl:84 +msgid "Tag" +msgstr "タグ" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "無効なリビジョン: %s" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "リビジョンが未選択です。" + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "リビジョン式が空です。" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"訂正するコミットがそもそもありません。\n" +"\n" +"これから作るのは最初のコミットです。その前にはまだ訂正するようなコミットはあ" +"りません。\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"マージ中にコミットの訂正はできません。\n" +"\n" +"現在はまだマージの途中です。先にこのマージを中止しないと、前のコミットの訂正" +"はできません\n" + +#: lib/commit.tcl:49 +msgid "Error loading commit data for amend:" +msgstr "訂正するコミットのデータを読めません:" + +#: lib/commit.tcl:76 +msgid "Unable to obtain your identity:" +msgstr "ユーザの正体を確認できません:" + +#: lib/commit.tcl:81 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "GIT_COMMITTER_IDENT が無効です:" + +#: lib/commit.tcl:133 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"最後にスキャンした状態はリポジトリの状態と合致しません。\n" +"\n" +"最後にスキャンして以後、別の Git プログラムがリポジトリを変更しています。新し" +"くコミットする前に、再スキャンが必要です。\n" +"\n" +"自動的に再スキャンを開始します。\n" + +#: lib/commit.tcl:154 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"マージしていないファイルはコミットできません。\n" +"\n" +"ファイル %s にはマージ衝突が残っています。まず解決してコミット予定に加える必" +"要があります。\n" + +#: lib/commit.tcl:162 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"不明なファイル状態 %s です。\n" +"\n" +"ファイル %s は本プログラムではコミットできません。\n" + +#: lib/commit.tcl:170 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"コミットする変更がありません。\n" +"\n" +"最低一つの変更をコミット予定に加えてからコミットして下さい。\n" + +#: lib/commit.tcl:183 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentance what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"コミット・メッセージを入力して下さい。\n" +"\n" +"正しいコミット・メッセージは:\n" +"\n" +"- 第1行: 何をしたか、を1行で要約。\n" +"- 第2行: 空白\n" +"- 残りの行: なぜ、この変更が良い変更か、の説明。\n" + +#: lib/commit.tcl:257 +msgid "write-tree failed:" +msgstr "write-tree が失敗しました:" + +#: lib/commit.tcl:279 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"コミットする変更がありません。\n" +"\n" +"マージでなく、また、一つも変更点がありません。\n" +"\n" +"自動的に再スキャンを開始します。\n" + +#: lib/commit.tcl:286 +msgid "No changes to commit." +msgstr "コミットする変更がありません。" + +#: lib/commit.tcl:317 +msgid "commit-tree failed:" +msgstr "commit-tree が失敗しました:" + +#: lib/commit.tcl:339 +msgid "update-ref failed:" +msgstr "update-ref が失敗しました:" + +#: lib/commit.tcl:430 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "コミット %s を作成しました: %s" + +#: lib/console.tcl:55 +msgid "Working... please wait..." +msgstr "実行中…お待ち下さい…" + +#: lib/console.tcl:184 +msgid "Success" +msgstr "成功" + +#: lib/console.tcl:194 +msgid "Error: Command Failed" +msgstr "エラー: コマンドが失敗しました" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "ばらばらなオブジェクトの数" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "ばらばらなオブジェクトの使用するディスク量" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "パックされたオブジェクトの数" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "パックの数" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "パックされたオブジェクトの使用するディスク量" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "パックに存在するので捨てて良いオブジェクトの数" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "ゴミファイル" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "データベース圧縮" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "fsck-objects でオブジェクト・データベースを検証しています" + +#: lib/diff.tcl:42 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"変更がありません。\n" +"\n" +"%s には変更がありません。\n" +"\n" +"このファイルの変更時刻は他のアプリケーションによって更新されていますがファイ" +"ル内容には変更がありません。\n" +"\n" +"同様な状態のファイルを探すために、自動的に再スキャンを開始します。" + +#: lib/diff.tcl:97 +msgid "Error loading file:" +msgstr "ファイルを読む際のエラーです:" + +#: lib/diff.tcl:162 +msgid "Error loading diff:" +msgstr "diff を読む際のエラーです:" + +#: lib/diff.tcl:278 +msgid "Failed to unstage selected hunk." +msgstr "選択されたパッチをコミット予定から外せません。" + +#: lib/diff.tcl:285 +msgid "Failed to stage selected hunk." +msgstr "選択されたパッチをコミット予定に加えられません。" + +#: lib/error.tcl:12 lib/error.tcl:102 +msgid "error" +msgstr "エラー" + +#: lib/error.tcl:28 +msgid "warning" +msgstr "警告" + +#: lib/error.tcl:81 +msgid "You must correct the above errors before committing." +msgstr "コミットする前に、以上のエラーを修正して下さい" + +#: lib/index.tcl:364 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "ファイル %s にした変更を元に戻しますか?" + +#: lib/index.tcl:366 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "これら %i 個のファイルにした変更を元に戻しますか?" + +#: lib/index.tcl:372 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "変更を元に戻すとコミット予定していない変更は全て失われます。" + +#: lib/index.tcl:375 +msgid "Do Nothing" +msgstr "何もしない" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"訂正中にはマージできません。\n" +"\n" +"訂正処理を完了するまでは新たにマージを開始できません。\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"最後にスキャンした状態はリポジトリの状態と合致しません。\n" +"\n" +"最後にスキャンして以後、別の Git プログラムがリポジトリを変更しています。マー" +"ジを開始する前に、再スキャンが必要です。\n" +"\n" +"自動的に再スキャンを開始します。\n" + +#: lib/merge.tcl:44 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"衝突のあったマージの途中です。\n" +"\n" +"ファイル %s にはマージ中の衝突が残っています。\n" +"\n" +"このファイルの衝突を解決し、コミット予定に加えて、コミットすることでマージを" +"完了します。そうやって始めて、新たなマージを開始できるようになります。\n" + +#: lib/merge.tcl:54 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"変更の途中です。\n" +"\n" +"ファイル %s は変更中です。\n" +"\n" +"現在のコミットを完了してからマージを開始して下さい。そうする方がマージに失敗" +"したときの回復が楽です。\n" + +#: lib/merge.tcl:106 +#, tcl-format +msgid "%s of %s" +msgstr "%s の %s ブランチ" + +#: lib/merge.tcl:119 +#, tcl-format +msgid "Merging %s and %s" +msgstr "%s と %s をマージします" + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "マージが完了しました" + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "マージが失敗しました。衝突の解決が必要です。" + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "%s にマージ" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "マージするリビジョン" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"訂正中には中止できません。\n" +"\n" +"まず今のコミット訂正を完了させて下さい。\n" + +#: lib/merge.tcl:222 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"マージを中断しますか?\n" +"\n" +"現在のマージを中断すると、コミットしていない全ての変更が失われます。\n" +"\n" +"マージを中断してよろしいですか?" + +#: lib/merge.tcl:228 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"変更点をリセットしますか?\n" +"\n" +"変更点をリセットすると、コミットしていない全ての変更が失われます。\n" +"\n" +"リセットしてよろしいですか?" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "中断しています" + +#: lib/merge.tcl:266 +msgid "Abort failed." +msgstr "中断に失敗しました。" + +#: lib/merge.tcl:268 +msgid "Abort completed. Ready." +msgstr "中断完了。" + +#: lib/option.tcl:77 +msgid "git-gui - a graphical user interface for Git." +msgstr "Git のグラフィカルUI git-gui" + +#: lib/option.tcl:164 +msgid "Restore Defaults" +msgstr "既定値に戻す" + +#: lib/option.tcl:168 +msgid "Save" +msgstr "保存" + +#: lib/option.tcl:178 +#, tcl-format +msgid "%s Repository" +msgstr "%s リポジトリ" + +#: lib/option.tcl:179 +msgid "Global (All Repositories)" +msgstr "大域(全てのリポジトリ)" + +#: lib/option.tcl:185 +msgid "User Name" +msgstr "ユーザ名" + +#: lib/option.tcl:186 +msgid "Email Address" +msgstr "電子メールアドレス" + +#: lib/option.tcl:188 +msgid "Summarize Merge Commits" +msgstr "マージコミットの要約" + +#: lib/option.tcl:189 +msgid "Merge Verbosity" +msgstr "マージの冗長度" + +#: lib/option.tcl:190 +msgid "Show Diffstat After Merge" +msgstr "マージ後に diffstat を表示" + +#: lib/option.tcl:192 +msgid "Trust File Modification Timestamps" +msgstr "ファイル変更時刻を信頼する" + +#: lib/option.tcl:193 +msgid "Prune Tracking Branches During Fetch" +msgstr "フェッチ中にトラッキングブランチを刈る" + +#: lib/option.tcl:194 +msgid "Match Tracking Branches" +msgstr "トラッキングブランチを合わせる" + +#: lib/option.tcl:195 +msgid "Number of Diff Context Lines" +msgstr "diff の文脈行数" + +#: lib/option.tcl:196 +msgid "New Branch Name Template" +msgstr "新しいブランチ名のテンプレート" + +#: lib/option.tcl:305 +msgid "Failed to completely save options:" +msgstr "完全にオプションを保存できません:" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Remote Branch" +msgstr "リモート・ブランチを削除" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "元のリポジトリ" + +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +msgid "Remote:" +msgstr "リモート:" + +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +msgid "Arbitrary URL:" +msgstr "任意の URL:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "ブランチ" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "条件付で削除" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "マージ先:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "無条件(マージ検査をしない)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "'マージ先' にはブランチが必要です。" + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"必要なコミットが不足しているために、マージ検査が失敗しました。まず %s から" +"フェッチして下さい。" + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "削除するブランチを選択して下さい。" + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"削除したブランチを回復するのは困難です。\n" +"\n" +"選択したブランチを削除して良いですか?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "%s からブランチを削除しています。" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "リポジトリが選択されていません。" + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "%s をスキャンしています…" + +#: lib/remote.tcl:162 +#, tcl-format +msgid "Fetch from %s..." +msgstr "%s からフェッチ…" + +#: lib/remote.tcl:172 +#, tcl-format +msgid "Prune from %s..." +msgstr "%s から刈る…" + +#: lib/remote.tcl:206 +#, tcl-format +msgid "Push to %s..." +msgstr "%s へプッシュ…" + +#: lib/shortcut.tcl:26 lib/shortcut.tcl:74 +msgid "Cannot write script:" +msgstr "スクリプトが書けません:" + +#: lib/shortcut.tcl:149 +msgid "Cannot write icon:" +msgstr "アイコンが書けません:" + +#: lib/status_bar.tcl:58 +#, tcl-format +msgid "%s ... %i of %i %s (%2i%%)" +msgstr "%1$s ... %3$i %4$s 中の %$2i (%5$2i%%)" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "%s から新しい変更をフェッチしています" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "%s から削除されたトラッキング・ブランチを刈っています" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "%s へ変更をプッシュしています" + +#: lib/transport.tcl:68 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "%3$s へ %1$s %2$s をプッシュしています" + +#: lib/transport.tcl:84 +msgid "Push Branches" +msgstr "ブランチをプッシュ" + +#: lib/transport.tcl:98 +msgid "Source Branches" +msgstr "元のブランチ" + +#: lib/transport.tcl:115 +msgid "Destination Repository" +msgstr "送り先リポジトリ" + +#: lib/transport.tcl:153 +msgid "Transfer Options" +msgstr "通信オプション" + +#: lib/transport.tcl:155 +msgid "Use thin pack (for slow network connections)" +msgstr "Thin Pack を使う(遅いネットワーク接続)" + +#: lib/transport.tcl:159 +msgid "Include tags" +msgstr "タグを含める" From 4fe7626488872e1226490500e70b7e2a4c262906 Mon Sep 17 00:00:00 2001 From: Paolo Ciarrocchi Date: Sun, 22 Jul 2007 12:51:13 +0200 Subject: [PATCH 13/91] Italian translation of git-gui [jes: includes patches from Michele Ballabio] Signed-off-by: Paolo Ciarrocchi Signed-off-by: Johannes Schindelin --- po/it.po | 1393 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1393 insertions(+) create mode 100644 po/it.po diff --git a/po/it.po b/po/it.po new file mode 100644 index 0000000000..17a5c21882 --- /dev/null +++ b/po/it.po @@ -0,0 +1,1393 @@ +# Translation of git-gui to Italian +# Copyright (C) 2007 Shawn Pearce +# This file is distributed under the same license as the git-gui package. +# Paolo Ciarrocchi , 2007 +# Michele Ballabio , 2007. +# +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-11 17:28+0200\n" +"PO-Revision-Date: 2007-08-09 00:27+0200\n" +"Last-Translator: Paolo Ciarrocchi \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit" + +#: git-gui.sh:531 +msgid "Cannot find git in PATH." +msgstr "Impossibile trovare git nel PATH" + +#: git-gui.sh:550 +msgid "Cannot parse Git version string:" +msgstr "Impossibile determinare la versione di Git:" + +#: git-gui.sh:567 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"La versione di GIT non può essere determinata.\n" +"\n" +"%s sostiene che la versione è '%s'.\n" +"\n" +"%s richiede almeno Git 1.5.0 o superiore.\n" +"\n" +"Assumere che '%s' sia alla versione 1.5.0?\n" + +#: git-gui.sh:689 +msgid "Cannot find the git directory:" +msgstr "Non posso trovare la directory di git:" + +#: git-gui.sh:697 +msgid "Git directory not found:" +msgstr "Non trovo la directory di git: " + +#: git-gui.sh:703 +msgid "Cannot use funny .git directory:" +msgstr "Impossibile usare una .git directory strana:" + +#: git-gui.sh:708 +msgid "No working directory" +msgstr "Nessuna directory di lavoro" + +#: git-gui.sh:854 +msgid "Refreshing file status..." +msgstr "Controllo dello stato dei file in corso..." + +#: git-gui.sh:891 +msgid "Scanning for modified files ..." +msgstr "Ricerca di file modificati in corso..." + +#: git-gui.sh:1057 lib/browser.tcl:247 +msgid "Ready." +msgstr "Pronto." + +#: git-gui.sh:1322 +msgid "Unmodified" +msgstr "Non modificato" + +#: git-gui.sh:1324 +msgid "Modified, not staged" +msgstr "Modificato, non pronto per il commit" + +#: git-gui.sh:1325 git-gui.sh:1330 +msgid "Staged for commit" +msgstr "Pronto per il commit" + +#: git-gui.sh:1326 git-gui.sh:1331 +msgid "Portions staged for commit" +msgstr "Parti pronte per il commit" + +#: git-gui.sh:1327 git-gui.sh:1332 +msgid "Staged for commit, missing" +msgstr "Pronto per il commit, mancante" + +#: git-gui.sh:1329 +msgid "Untracked, not staged" +msgstr "Non tracciato, non pronto per il commit" + +#: git-gui.sh:1334 +msgid "Missing" +msgstr "Mancante" + +#: git-gui.sh:1335 +msgid "Staged for removal" +msgstr "Pronto per la rimozione" + +#: git-gui.sh:1336 +msgid "Staged for removal, still present" +msgstr "Pronto alla rimozione, ancora presente" + +#: git-gui.sh:1338 git-gui.sh:1339 git-gui.sh:1340 git-gui.sh:1341 +msgid "Requires merge resolution" +msgstr "Richiede risoluzione dei conflitti" + +#: git-gui.sh:1383 +msgid "Starting gitk... please wait..." +msgstr "Avvio di gitk... attendere..." + +#: git-gui.sh:1392 +#, tcl-format +msgid "" +"Unable to start gitk:\n" +"\n" +"%s does not exist" +msgstr "" +"Impossibile avviare gitk:\n" +"\n" +"%s non esiste" + +#: git-gui.sh:1609 +#, tcl-format +msgid "Invalid font specified in gui.%s:" +msgstr "Caratteri non validi specificati nella gui.%s:" + +#: git-gui.sh:1634 +msgid "Main Font" +msgstr "Caratteri principali" + +#: git-gui.sh:1635 +msgid "Diff/Console Font" +msgstr "Caratteri per confronti e terminale" + +#: git-gui.sh:1649 +msgid "Repository" +msgstr "Archivio" + +#: git-gui.sh:1650 +msgid "Edit" +msgstr "Modifica" + +#: git-gui.sh:1652 +msgid "Branch" +msgstr "Ramo" + +#: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152 +msgid "Commit" +msgstr "Commit" + +#: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "Fusione (Merge)" + +#: git-gui.sh:1659 +msgid "Fetch" +msgstr "Preleva (Fetch)" + +#: git-gui.sh:1660 git-gui.sh:2158 lib/transport.tcl:88 lib/transport.tcl:172 +msgid "Push" +msgstr "Propaga (Push)" + +#: git-gui.sh:1669 +msgid "Browse Current Branch's Files" +msgstr "Esplora i file del ramo corrente" + +#: git-gui.sh:1673 +msgid "Browse Branch Files..." +msgstr "Esplora i file del ramo..." + +#: git-gui.sh:1678 +msgid "Visualize Current Branch's History" +msgstr "Visualizza la cronologia del ramo corrente" + +#: git-gui.sh:1682 +msgid "Visualize All Branch History" +msgstr "Visualizza la cronologia di tutti i rami" + +#: git-gui.sh:1689 +#, tcl-format +msgid "Browse %s's Files" +msgstr "Esplora i file di %s" + +#: git-gui.sh:1691 +#, tcl-format +msgid "Visualize %s's History" +msgstr "Visualizza la cronologia di %s" + +#: git-gui.sh:1696 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "Statistiche del database" + +#: git-gui.sh:1699 lib/database.tcl:34 +msgid "Compress Database" +msgstr "Comprimi il database" + +#: git-gui.sh:1702 +msgid "Verify Database" +msgstr "Verifica il database" + +#: git-gui.sh:1709 git-gui.sh:1713 git-gui.sh:1717 lib/shortcut.tcl:9 +#: lib/shortcut.tcl:45 lib/shortcut.tcl:84 +msgid "Create Desktop Icon" +msgstr "Crea icona desktop" + +#: git-gui.sh:1722 +msgid "Quit" +msgstr "Esci" + +#: git-gui.sh:1729 +msgid "Undo" +msgstr "Annulla" + +#: git-gui.sh:1732 +msgid "Redo" +msgstr "Ripeti" + +#: git-gui.sh:1736 git-gui.sh:2222 +msgid "Cut" +msgstr "Taglia" + +#: git-gui.sh:1739 git-gui.sh:2225 git-gui.sh:2296 git-gui.sh:2368 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "Copia" + +#: git-gui.sh:1742 git-gui.sh:2228 +msgid "Paste" +msgstr "Incolla" + +#: git-gui.sh:1745 git-gui.sh:2231 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "Elimina" + +#: git-gui.sh:1749 git-gui.sh:2235 git-gui.sh:2372 lib/console.tcl:71 +msgid "Select All" +msgstr "Seleziona tutto" + +#: git-gui.sh:1758 +msgid "Create..." +msgstr "Crea..." + +#: git-gui.sh:1764 +msgid "Checkout..." +msgstr "Checkout..." + +#: git-gui.sh:1770 +msgid "Rename..." +msgstr "Rinomina" + +#: git-gui.sh:1775 git-gui.sh:1873 +msgid "Delete..." +msgstr "Elimina..." + +#: git-gui.sh:1780 +msgid "Reset..." +msgstr "Ripristina..." + +#: git-gui.sh:1792 git-gui.sh:2169 +msgid "New Commit" +msgstr "Nuovo commit" + +#: git-gui.sh:1800 git-gui.sh:2176 +msgid "Amend Last Commit" +msgstr "Correggi l'ultimo commit" + +#: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "Analizza nuovamente" + +#: git-gui.sh:1815 +msgid "Stage To Commit" +msgstr "Prepara per il commit" + +#: git-gui.sh:1820 +msgid "Stage Changed Files To Commit" +msgstr "Prepara per il commit i file modificati" + +#: git-gui.sh:1826 +msgid "Unstage From Commit" +msgstr "Non pronto per il commit" + +#: git-gui.sh:1831 lib/index.tcl:376 +msgid "Revert Changes" +msgstr "Annulla modifiche" + +#: git-gui.sh:1838 git-gui.sh:2148 git-gui.sh:2246 +msgid "Sign Off" +msgstr "Sign Off" + +#: git-gui.sh:1853 +msgid "Local Merge..." +msgstr "Fusione locale" + +#: git-gui.sh:1858 +msgid "Abort Merge..." +msgstr "Interrompi fusione" + +#: git-gui.sh:1870 +msgid "Push..." +msgstr "Propaga..." + +#: git-gui.sh:1880 +msgid "Apple" +msgstr "Apple" + +#: git-gui.sh:1883 git-gui.sh:1901 lib/option.tcl:65 +#, tcl-format +msgid "About %s" +msgstr "Informazioni su %s" + +#: git-gui.sh:1885 git-gui.sh:1891 git-gui.sh:2414 +msgid "Options..." +msgstr "Opzioni..." + +#: git-gui.sh:1897 +msgid "Help" +msgstr "Aiuto" + +#: git-gui.sh:1938 +msgid "Online Documentation" +msgstr "Documentazione sul web" + +#: git-gui.sh:2054 +msgid "Current Branch:" +msgstr "Ramo attuale:" + +#: git-gui.sh:2075 +msgid "Staged Changes (Will Be Committed)" +msgstr "Modifiche preparate (ne verrà effettuato il commit)" + +#: git-gui.sh:2095 +msgid "Unstaged Changes (Will Not Be Committed)" +msgstr "Modifiche non preparate (non ne verrà effettuato il commit)" + +#: git-gui.sh:2142 +msgid "Stage Changed" +msgstr "Prepara modificati" + +#: git-gui.sh:2188 +msgid "Initial Commit Message:" +msgstr "Messaggio di commit iniziale:" + +#: git-gui.sh:2189 +msgid "Amended Commit Message:" +msgstr "Messaggio di commit corretto:" + +#: git-gui.sh:2190 +msgid "Amended Initial Commit Message:" +msgstr "Messaggio iniziale di commit corretto:" + +#: git-gui.sh:2191 +msgid "Amended Merge Commit Message:" +msgstr "Messaggio di fusione corretto:" + +#: git-gui.sh:2192 +msgid "Merge Commit Message:" +msgstr "Messaggio di fusione:" + +#: git-gui.sh:2193 +msgid "Commit Message:" +msgstr "Messaggio di commit:" + +#: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73 +msgid "Copy All" +msgstr "Copia tutto" + +#: git-gui.sh:2262 lib/blame.tcl:104 +msgid "File:" +msgstr "File:" + +#: git-gui.sh:2364 +msgid "Refresh" +msgstr "Rinfresca" + +#: git-gui.sh:2385 +msgid "Apply/Reverse Hunk" +msgstr "Applica/Inverti sezione" + +#: git-gui.sh:2391 +msgid "Decrease Font Size" +msgstr "Diminuisci dimensione caratteri" + +#: git-gui.sh:2395 +msgid "Increase Font Size" +msgstr "Aumenta dimensione caratteri" + +#: git-gui.sh:2400 +msgid "Show Less Context" +msgstr "Mostra meno contesto" + +#: git-gui.sh:2407 +msgid "Show More Context" +msgstr "Mostra più contesto" + +#: git-gui.sh:2422 +msgid "Unstage Hunk From Commit" +msgstr "Sezione non pronta per il commit" + +#: git-gui.sh:2426 git-gui.sh:2430 +msgid "Stage Hunk For Commit" +msgstr "Prepara sezione per il commit" + +#: git-gui.sh:2440 +msgid "Initializing..." +msgstr "Inizializzazione..." + +#: lib/blame.tcl:77 +msgid "File Viewer" +msgstr "Mostra file" + +#: lib/blame.tcl:81 +msgid "Commit:" +msgstr "Commit:" + +#: lib/blame.tcl:249 +msgid "Copy Commit" +msgstr "Copia commit" + +#: lib/blame.tcl:369 +#, tcl-format +msgid "Reading %s..." +msgstr "Lettura di %s..." + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "Checkout ramo" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "Checkout" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283 +#: lib/checkout_op.tcl:522 lib/merge.tcl:172 lib/option.tcl:172 +#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +msgid "Cancel" +msgstr "Annulla" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:288 +msgid "Revision" +msgstr "Revisione" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 +#: lib/option.tcl:274 +msgid "Options" +msgstr "Opzioni" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Preleva ramo in 'tracking'" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "Stacca da ramo locale" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "Crea ramo" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "Crea nuovo ramo" + +#: lib/branch_create.tcl:31 +msgid "Create" +msgstr "Crea" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "Nome del ramo" + +#: lib/branch_create.tcl:43 +msgid "Name:" +msgstr "Nome:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "Appaia nome del ramo in 'tracking'" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "Revisione iniziale" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Aggiorna ramo esistente:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "No" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Solo fast forward" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 +msgid "Reset" +msgstr "Ripristina" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "Checkout dopo la creazione" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "Scegliere un ramo in 'tracking'" + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "Il ramo in 'tracking' %s non è un ramo nell'archivio remoto." + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "Inserire un nome per il ramo." + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "'%s' non è utilizzabile come nome di ramo." + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "Elimina ramo" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "Elimina ramo locale" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "Rami locali" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "Cancella solo se fuso con un altro ramo" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "Sempre (Non effettuare controlli durante la fusione)." + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "I rami seguenti non sono stati fusi completamente in %s:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"Prelevare rami cancellati può essere complicato. \n" +"\n" +" Eliminare i rami selezionati?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"Cancellazione rami fallita:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "Rinomina ramo" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "Rinomina" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "Ramo:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "Nuovo Nome:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "Scegliere un ramo da rinominare." + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "Il ramo '%s' esiste già" + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "Cambiamento nome '%s' fallito." + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "Avvio in corso..." + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "File browser" + +#: lib/browser.tcl:127 lib/browser.tcl:144 +#, tcl-format +msgid "Loading %s..." +msgstr "Caricamento %s..." + +#: lib/browser.tcl:188 +msgid "[Up To Parent]" +msgstr "[Directory superiore]" + +#: lib/browser.tcl:268 lib/browser.tcl:274 +msgid "Browse Branch Files" +msgstr "Esplora i file del ramo" + +#: lib/browser.tcl:279 +msgid "Browse" +msgstr "Sfoglia" + +#: lib/checkout_op.tcl:79 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "Recupero %s da %s" + +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +msgid "Close" +msgstr "Chiudi" + +#: lib/checkout_op.tcl:169 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "Il ramo '%s' non esiste." + +#: lib/checkout_op.tcl:206 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "Il ramo '%s' esiste già.\n" +"\n" +"Non può effettuare un 'fast-forward' a %s.\n" +"E' necessaria una fusione." + +#: lib/checkout_op.tcl:220 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "La strategia di fusione '%s' non è supportata." + +#: lib/checkout_op.tcl:239 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Aggiornamento di '%s' fallito." + +#: lib/checkout_op.tcl:251 +msgid "Staging area (index) is already locked." +msgstr "L'area di preparazione per il commit (indice) è già bloccata." + +#: lib/checkout_op.tcl:266 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"L'ultimo stato analizzato non corrisponde allo stato del repository.\n" +"\n" +"Un altro programma Git ha modificato questo repository dall'ultima analisi. " +"Bisogna effettuare una nuova analisi prima di poter cambiare il ramo " +"corrente.\n" +"\n" +"La nuova analisi comincerà ora.\n" + +#: lib/checkout_op.tcl:353 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "Checkout di '%s' fallito (richiesta una fusione a livello file)." + +#: lib/checkout_op.tcl:354 +msgid "File level merge required." +msgstr "E' richiesta una fusione a livello file." + +#: lib/checkout_op.tcl:358 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Si rimarrà sul ramo '%s'." + +#: lib/checkout_op.tcl:429 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Non si è più su un ramo locale\n" +"\n" +"Se si vuole rimanere su un ramo, crearne uno ora a partire da 'Questo checkout " +"staccato'." + +#: lib/checkout_op.tcl:478 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "Ripristinare '%s' a '%s' comporterà la perdita dei seguenti commit:" + +#: lib/checkout_op.tcl:500 +msgid "Recovering lost commits may not be easy." +msgstr "Prelevare i commit perduti potrebbe non essere semplice." + +#: lib/checkout_op.tcl:505 +#, tcl-format +msgid "Reset '%s'?" +msgstr "Ripristinare '%s'?" + +#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +msgid "Visualize" +msgstr "Visualizza" + +#: lib/checkout_op.tcl:578 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Preparazione ramo corrente fallita.\n" +"\n" +"Questa directory di lavoro è stata convertita solo parzialmente. I file " +"sono stati aggiornati correttamente, ma l'aggiornamento di un file di Git ha " +"prodotto degli errori.\n" +"\n" +"Questo non sarebbe dovuto succedere. %s ora terminerà senza altre azioni." + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "Questo checkout staccato" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "Espressione di revisione:" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "Ramo locale" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "Ramo in 'tracking'" + +#: lib/choose_rev.tcl:84 +msgid "Tag" +msgstr "Etichetta" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Revisione non valida: %s" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "Nessuna revisione selezionata." + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "L'espressione di revisione è vuota." + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Non c'è niente da correggere.\n" +"\n" +"Stai per creare il commit iniziale. Non esiste un commit precedente da " +"correggere.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Non è possibile effettuare una correzione durante una fusione.\n" +"\n" +"In questo momento si sta effettuando una fusione che non è stata del tutto " +"completata. Non puoi correggere il commit precedente a meno che prima tu non " +"interrompa l'operazione di fusione in corso.\n" + +#: lib/commit.tcl:49 +msgid "Error loading commit data for amend:" +msgstr "Errore durante il caricamento dei dati da correggere:" + +#: lib/commit.tcl:76 +msgid "Unable to obtain your identity:" +msgstr "Impossibile ottenere la tua identità:" + +#: lib/commit.tcl:81 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "GIT_COMMITTER_IDENT non valida:" + +#: 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 "" +"L'ultimo stato analizzato non corrisponde allo stato del repository.\n" +"\n" +"Un altro programma Git ha modificato questo repository dall'ultima analisi. " +"Bisogna effettuare una nuova analisi prima di poter creare un nuovo commit.\n" +"\n" +"La nuova analisi comincerà ora.\n" + +#: lib/commit.tcl:154 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"Non è possibile effettuare il commit di file non sottoposti a fusione.\n" +"\n" +"Il file %s presenta dei conflitti. Devi risolverli e preparare il file " +"per il commit prima di effettuare questa azione.\n" + +#: lib/commit.tcl:162 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Stato di file %s sconosciuto.\n" +"\n" +"Non si può effettuare il commit del file %s con questo programma.\n" + +#: lib/commit.tcl:170 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"Nessuna modifica per la quale effettuare il commit.\n" +"\n" +"Devi preparare per il commit almeno 1 file prima di effettuare questa operazione.\n" + +#: lib/commit.tcl:183 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentance what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Bisogna fornire un messaggio di commit.\n" +"\n" +"Un buon messaggio di commit ha il seguente formato:\n" +"\n" +"- Prima linea: descrivi in una frase ciò che hai fatto.\n" +"- Seconda linea: vuota.\n" +"- Terza linea: spiga a cosa serve la tua modifica.\n" + +#: lib/commit.tcl:257 +msgid "write-tree failed:" +msgstr "write-tree fallito:" + +#: lib/commit.tcl:279 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Nessuna modifica pronta per il commit.\n" +"\n" +"Questo commit non modifica alcun file e non effettua alcuna fusione.\n" +"\n" +"Si procederà subito ad una nuova analisi.\n" + +#: lib/commit.tcl:286 +msgid "No changes to commit." +msgstr "Nessuna modifica pronta per il commit." + +#: lib/commit.tcl:317 +msgid "commit-tree failed:" +msgstr "commit-tree fallito:" + +#: lib/commit.tcl:339 +msgid "update-ref failed:" +msgstr "update-ref fallito:" + +#: lib/commit.tcl:430 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Creato commit %s: %s" + +#: lib/console.tcl:55 +msgid "Working... please wait..." +msgstr "Elaborazione in corso... attendere..." + +#: lib/console.tcl:184 +msgid "Success" +msgstr "Successo" + +#: lib/console.tcl:194 +msgid "Error: Command Failed" +msgstr "Errore: comando fallito" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "Numero di oggetti slegati" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "Spazio su disco utilizzato da oggetti slegati" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "Numero di oggetti impacchettati" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "Numero di pacchetti" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "Spazio su disco utilizzato da oggetti impacchettati" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "Oggetti impacchettati che attendono la potatura" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "File inutili" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Compressione del database in corso" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Verifica dell'archivio con fsck-objects in corso" + +#: lib/diff.tcl:42 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"Non sono state trovate differenze.\n" +"\n" +"%s non ha modifiche.\n" +"\n" +"La data di modifica di questo file è stata cambiata da un'altra " +"applicazione, ma il contenuto del file è rimasto invariato.\n" +"\n" +"Si procederà automaticamente ad una nuova analisi per trovare altri file che " +"potrebbero avere lo stesso stato." + +#: lib/diff.tcl:97 +msgid "Error loading file:" +msgstr "Errore nel caricamento del file:" + +#: lib/diff.tcl:162 +msgid "Error loading diff:" +msgstr "Errore nel caricamento delle differenze:" + +#: lib/diff.tcl:278 +msgid "Failed to unstage selected hunk." +msgstr "La sezione scelta è ancora pronta per il commit." + +#: lib/diff.tcl:285 +msgid "Failed to stage selected hunk." +msgstr "La sezione scelta non è ancora pronta per il commit." + +#: lib/error.tcl:12 lib/error.tcl:102 +msgid "error" +msgstr "errore" + +#: lib/error.tcl:28 +msgid "warning" +msgstr "avviso" + +#: lib/error.tcl:81 +msgid "You must correct the above errors before committing." +msgstr "Bisogna correggere gli errori suddetti prima di effettuare un commit." + +#: lib/index.tcl:364 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "Annullare le modifiche nel file %s?" + +#: lib/index.tcl:366 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "Annullare le modifiche in questi %i file?" + +#: lib/index.tcl:372 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "Tutte le modifiche non preparate per il commit saranno perse per sempre." + +#: lib/index.tcl:375 +msgid "Do Nothing" +msgstr "Non fare niente" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"Non posso effettuare fusioni durante una correzione.\n" +"\n" +"Bisogna finire di correggere questo commit prima di iniziare una qualunque " +"fusione.\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"L'ultimo stato analizzato non corrisponde allo stato del repository.\n" +"\n" +"Un altro programma Git ha modificato questo repository dall'ultima analisi." +"Bisogna effettuare una nuova analisi prima di poter effettuare una fusione.\n" +"\n" +"La nuova analisi comincerà ora.\n" + +#: lib/merge.tcl:44 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"Sei nel mezzo di una fusione con conflitti.\n" +"\n" +"Il file %s ha dei conflitti.\n" +"\n" +"Bisogna risolvere i conflitti, preparare il file per il commit ed infine " +"effettuare un commit " +"per completare la fusione corrente. Solo a questo punto potrai iniziare " +"un'altra fusione.\n" + +#: lib/merge.tcl:54 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"Sei nel mezzo di una modifica.\n" +"\n" +"Il file %s è stato modificato.\n" +"\n" +"Bisogna completare il commit corrente prima di iniziare una fusione. In " +"questo modo sarà più facile interrompere una fusione non riuscita, nel caso " +"ce ne fosse bisogno.\n" + +#: lib/merge.tcl:106 +#, tcl-format +msgid "%s of %s" +msgstr "%s di %s" + +#: lib/merge.tcl:119 +#, tcl-format +msgid "Merging %s and %s" +msgstr "Fusione di %s e %s in corso" + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "Fusione completata con successo." + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "Fusione fallita. Bisogna risolvere i conflitti." + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "Fusione in %s" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "Revisione da fondere" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"Interruzione impossibile durante una correzione.\n" +"\n" +"Bisogna finire di correggere questo commit.\n" + +#: lib/merge.tcl:222 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"Interrompere fusione?\n" +"\n" +"L'interruzione della fusione corrente causerà la perdita di *TUTTE* le " +"modifiche non ancora presenti nei commit.\n" +"\n" +"Continuare con l'interruzione della fusione corrente?" + +#: 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 "" +"Annullare le modifiche?\n" +"\n" +"L'annullamento delle modifiche causerà la perdita di *TUTTE* le " +"modifiche non ancora presenti nei commit.\n" +"\n" +"Continuare con l'annullamento delle modifiche correnti?" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "Interruzione in corso" + +#: lib/merge.tcl:266 +msgid "Abort failed." +msgstr "Interruzione fallita." + +#: lib/merge.tcl:268 +msgid "Abort completed. Ready." +msgstr "Interruzione completata. Pronto." + +#: lib/option.tcl:77 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - un'interfaccia grafica per Git." + +#: lib/option.tcl:164 +msgid "Restore Defaults" +msgstr "Ripristina predefiniti" + +#: lib/option.tcl:168 +msgid "Save" +msgstr "Salva" + +#: lib/option.tcl:178 +#, tcl-format +msgid "%s Repository" +msgstr "%s archivio" + +#: lib/option.tcl:179 +msgid "Global (All Repositories)" +msgstr "Globale (Tutti i repository)" + +#: lib/option.tcl:185 +msgid "User Name" +msgstr "Nome utente" + +#: lib/option.tcl:186 +msgid "Email Address" +msgstr "Indirizzo Email" + +#: lib/option.tcl:188 +msgid "Summarize Merge Commits" +msgstr "Riepilogo nei commit di fusione" + +#: lib/option.tcl:189 +msgid "Merge Verbosity" +msgstr "Verbosità della fusione" + +#: lib/option.tcl:190 +msgid "Show Diffstat After Merge" +msgstr "Mostra statistiche delle differenze dopo la fusione" + +#: lib/option.tcl:192 +msgid "Trust File Modification Timestamps" +msgstr "Fidati delle date di modifica dei file" + +#: lib/option.tcl:193 +msgid "Prune Tracking Branches During Fetch" +msgstr "Effettua potatura dei rami in 'tracking' durante il recupero" + +#: lib/option.tcl:194 +msgid "Match Tracking Branches" +msgstr "Appaia rami in 'tracking'" + +#: lib/option.tcl:195 +msgid "Number of Diff Context Lines" +msgstr "Numero di linee di contesto nelle differenze" + +#: lib/option.tcl:196 +msgid "New Branch Name Template" +msgstr "Modello per il nome di un nuovo ramo" + +#: lib/option.tcl:305 +msgid "Failed to completely save options:" +msgstr "Fallimento nel salvataggio completo delle opzioni:" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Remote Branch" +msgstr "Cancella ramo remoto" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "Da archivio" + +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +msgid "Remote:" +msgstr "Remoto:" + +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +msgid "Arbitrary URL:" +msgstr "URL arbitrario:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "Rami" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "Elimina solo se" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "Fuso in:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "Sempre (Non effettuare controlli durante la fusione)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "Si richiede un ramo per 'Fuso in'." + +#: lib/remote_branch_delete.tcl: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 "" +"Una o più verifiche di fusione sono fallite perché mancano i commit " +"necessari. Prova prima a prelevarli da %s." + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "Scegliere uno o più rami da cancellare." + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"Prelevare rami cancellati è difficile.\n" +"\n" +"Cancellare i rami selezionati?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Cancellazione rami da %s" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "Nessun archivio selezionato." + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "Analisi in corso %s..." + +#: lib/remote.tcl:162 +#, tcl-format +msgid "Fetch from %s..." +msgstr "Preleva da %s..." + +#: lib/remote.tcl:172 +#, tcl-format +msgid "Prune from %s..." +msgstr "Effettua potatura da %s..." + +#: lib/remote.tcl:206 +#, tcl-format +msgid "Push to %s..." +msgstr "Propaga verso %s..." + +#: lib/shortcut.tcl:26 lib/shortcut.tcl:74 +msgid "Cannot write script:" +msgstr "Impossibile scrivere script:" + +#: lib/shortcut.tcl:149 +msgid "Cannot write icon:" +msgstr "Impossibile scrivere icona:" + +#: lib/status_bar.tcl:58 +#, tcl-format +msgid "%s ... %i of %i %s (%2i%%)" +msgstr "%s ... %i di %i %s (%2i%%)" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Recupero nuove modifiche da %s" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "Effettua potatura dei rami in 'tracking' cancellati da %s" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Propagazione modifiche a %s" + +#: lib/transport.tcl:68 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "Propagazione %s %s a %s" + +#: lib/transport.tcl:84 +msgid "Push Branches" +msgstr "Propaga rami" + +#: lib/transport.tcl:98 +msgid "Source Branches" +msgstr "Rami di origine" + +#: lib/transport.tcl:115 +msgid "Destination Repository" +msgstr "Archivio di destinazione" + +#: lib/transport.tcl:153 +msgid "Transfer Options" +msgstr "Opzioni di trasferimento" + +#: lib/transport.tcl:155 +msgid "Use thin pack (for slow network connections)" +msgstr "Utilizza 'thin pack' (per connessioni lente)" + +#: lib/transport.tcl:159 +msgid "Include tags" +msgstr "Includi etichette" + From e2b7200fcdb7bdafe7af00860df7d5774969e419 Mon Sep 17 00:00:00 2001 From: Irina Riesen Date: Sun, 22 Jul 2007 13:57:12 +0200 Subject: [PATCH 14/91] git-gui: initial version of russian translation Signed-off-by: Alex Riesen Signed-off-by: Irina Riesen Signed-off-by: Johannes Schindelin --- po/ru.po | 1480 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1480 insertions(+) create mode 100644 po/ru.po diff --git a/po/ru.po b/po/ru.po new file mode 100644 index 0000000000..c44d30af0a --- /dev/null +++ b/po/ru.po @@ -0,0 +1,1480 @@ +# Translation of git-gui to russian +# Copyright (C) 2007 Shawn Pearce +# This file is distributed under the same license as the git-gui package. +# Irina Riesen , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-07-27 19:33+0200\n" +"PO-Revision-Date: 2007-07-28 18:30+0200\n" +"Last-Translator: Irina Riesen \n" +"Language-Team: Russian Translation \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: git-gui.sh:531 +msgid "Cannot find git in PATH." +msgstr "git не найден в PATH." + +#: git-gui.sh:550 +msgid "Cannot parse Git version string:" +msgstr "" +"Невозможно распознать строку версии Git: " + +#: git-gui.sh:567 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" + +#: git-gui.sh:689 +msgid "Cannot find the git directory:" +msgstr "Каталог Git не найден:" + +#: git-gui.sh:697 +msgid "Git directory not found:" +msgstr "Каталог Git не найден:" + +#: git-gui.sh:703 +msgid "Cannot use funny .git directory:" +msgstr "Каталог.git испорчен: " + +#: git-gui.sh:708 +msgid "No working directory" +msgstr "Отсутствует рабочий каталог" + +#: git-gui.sh:853 +msgid "Refreshing file status..." +msgstr "Обновление состояния файлов проекта..." + +#: git-gui.sh:886 +msgid "Scanning for modified files ..." +msgstr "Поиск измененных файлов..." + +#: git-gui.sh:1052 lib/browser.tcl:233 +msgid "Ready." +msgstr "Готово." + +#: git-gui.sh:1343 +msgid "Unmodified" +msgstr "Не изменено" + +#: git-gui.sh:1345 +msgid "Modified, not staged" +msgstr "Изменено, но не включено" + +#: git-gui.sh:1346 git-gui.sh:1351 +msgid "Staged for commit" +msgstr "Подготовлено для сохранения" + +#: git-gui.sh:1347 git-gui.sh:1352 +msgid "Portions staged for commit" +msgstr "Части, подготовленные для сохранения" + +#: git-gui.sh:1348 git-gui.sh:1353 +#, fuzzy +msgid "Staged for commit, missing" +msgstr "" +"Подготовлено для сохранения, отсутствует" + +#: git-gui.sh:1350 +msgid "Untracked, not staged" +msgstr "Не отслеживается, не подготовлено" + +#: git-gui.sh:1355 +msgid "Missing" +msgstr "Отсутствует" + +#: git-gui.sh:1356 +msgid "Staged for removal" +msgstr "Подготовлено для удаления" + +#: git-gui.sh:1357 +msgid "Staged for removal, still present" +msgstr "" +"Подготовлено для удаления, но еще не " +"удалено" + +#: git-gui.sh:1359 git-gui.sh:1360 git-gui.sh:1361 git-gui.sh:1362 +msgid "Requires merge resolution" +msgstr "" +"Требуется разрешение конфликта при " +"объединении" + +#: git-gui.sh:1404 +msgid "Starting gitk... please wait..." +msgstr "Запускается gitk... пожалуйста, ждите..." + +#: git-gui.sh:1413 +#, tcl-format +msgid "" +"Unable to start gitk:\n" +"\n" +"%s does not exist" +msgstr "" +"Не удалось запустить gitk:\n" +"\n" +"%s не существует" + +#: git-gui.sh:1630 +#, tcl-format +msgid "Invalid font specified in gui.%s:" +msgstr "" +"В оболочке установлен неверный шрифт.%s:" + +#: git-gui.sh:1655 +msgid "Main Font" +msgstr "Шрифт интерфейса" + +#: git-gui.sh:1656 +msgid "Diff/Console Font" +msgstr "Шрифт в консоли diff" + +#: git-gui.sh:1670 +msgid "Repository" +msgstr "Репозиторий" + +#: git-gui.sh:1671 +msgid "Edit" +msgstr "Редактировать" + +#: git-gui.sh:1673 +msgid "Branch" +msgstr "Ветвь" + +#: git-gui.sh:1676 git-gui.sh:1854 git-gui.sh:2193 +msgid "Commit" +msgstr "Сохранить" + +#: git-gui.sh:1679 lib/merge.tcl:96 lib/merge.tcl:157 lib/merge.tcl:173 +msgid "Merge" +msgstr "Объединить" + +#: git-gui.sh:1680 +msgid "Fetch" +msgstr "Получить" + +#: git-gui.sh:1681 git-gui.sh:2199 lib/transport.tcl:88 lib/transport.tcl:172 +msgid "Push" +msgstr "Отправить" + +#: git-gui.sh:1690 +msgid "Browse Current Branch's Files" +msgstr "Просмотреть файлы текущей ветви" + +#: git-gui.sh:1692 +#, fuzzy, tcl-format +msgid "Browse %s's Files" +msgstr "Показать файлы ветви" + +#: git-gui.sh:1694 +#, fuzzy +msgid "Browse Branch Files..." +msgstr "Показать файлы ветви" + +#: git-gui.sh:1699 +msgid "Visualize Current Branch's History" +msgstr "История текущей ветви наглядно" + +#: git-gui.sh:1701 +#, fuzzy, tcl-format +msgid "Visualize %s's History" +msgstr "История всех ветвей наглядно" + +#: git-gui.sh:1703 +msgid "Visualize All Branch History" +msgstr "История всех ветвей наглядно" + +#: git-gui.sh:1708 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "Статистика базы данных" + +#: git-gui.sh:1711 lib/database.tcl:34 +msgid "Compress Database" +msgstr "Сжать базу данных" + +#: git-gui.sh:1714 +msgid "Verify Database" +msgstr "Проверить базу данных" + +#: git-gui.sh:1721 git-gui.sh:1725 git-gui.sh:1729 lib/shortcut.tcl:9 +#: lib/shortcut.tcl:45 lib/shortcut.tcl:84 +msgid "Create Desktop Icon" +msgstr "Создать ярлык на рабочем столе" + +#: git-gui.sh:1734 +msgid "Quit" +msgstr "Выход" + +#: git-gui.sh:1741 +msgid "Undo" +msgstr "Отменить" + +#: git-gui.sh:1744 +msgid "Redo" +msgstr "Повторить" + +#: git-gui.sh:1748 git-gui.sh:2263 +msgid "Cut" +msgstr "Вырезать" + +#: git-gui.sh:1751 git-gui.sh:2266 git-gui.sh:2337 git-gui.sh:2409 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "Копировать" + +#: git-gui.sh:1754 git-gui.sh:2269 +msgid "Paste" +msgstr "Вставить" + +#: git-gui.sh:1757 git-gui.sh:2272 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "Удалить" + +#: git-gui.sh:1761 git-gui.sh:2276 git-gui.sh:2413 lib/console.tcl:71 +msgid "Select All" +msgstr "Выделить все" + +#: git-gui.sh:1770 +msgid "Create..." +msgstr "Создать..." + +#: git-gui.sh:1776 +msgid "Checkout..." +msgstr "Перейти..." + +#: git-gui.sh:1782 +msgid "Rename..." +msgstr "Переименовать..." + +#: git-gui.sh:1787 git-gui.sh:1885 +msgid "Delete..." +msgstr "Удалить..." + +#: git-gui.sh:1792 +msgid "Reset..." +msgstr "Сбросить..." + +#: git-gui.sh:1804 git-gui.sh:2210 +msgid "New Commit" +msgstr "Новое состояние" + +#: git-gui.sh:1812 git-gui.sh:2217 +msgid "Amend Last Commit" +msgstr "Исправить последнее состояние" + +#: git-gui.sh:1821 git-gui.sh:2177 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "Перечитать" + +#: git-gui.sh:1827 +msgid "Add To Commit" +msgstr "Подготовить к сохранению" + +#: git-gui.sh:1832 +msgid "Add Existing To Commit" +msgstr "" +"Подготовить имеющиеся файлы к сохранению" + +#: git-gui.sh:1838 +msgid "Unstage From Commit" +msgstr "Убрать из подготовленного" + +#: git-gui.sh:1843 lib/index.tcl:376 +msgid "Revert Changes" +msgstr "Отменить изменения" + +#: git-gui.sh:1850 git-gui.sh:2189 git-gui.sh:2287 +msgid "Sign Off" +msgstr "Подписать" + +#: git-gui.sh:1865 +msgid "Local Merge..." +msgstr "Локальное объединение..." + +#: git-gui.sh:1870 +msgid "Abort Merge..." +msgstr "Прервать объединение..." + +#: git-gui.sh:1882 +msgid "Push..." +msgstr "Отправить..." + +#: git-gui.sh:1892 +msgid "Apple" +msgstr "" + +#: git-gui.sh:1895 git-gui.sh:1942 lib/option.tcl:65 +#, tcl-format +msgid "About %s" +msgstr "О %s" + +#: git-gui.sh:1897 git-gui.sh:1903 git-gui.sh:2455 +msgid "Options..." +msgstr "Настройки..." + +#: git-gui.sh:1917 +msgid "Running miga..." +msgstr "" + +#: git-gui.sh:1938 +msgid "Help" +msgstr "Помощь" + +#: git-gui.sh:1979 +msgid "Online Documentation" +msgstr "Документация в интернете" + +#: git-gui.sh:2095 +msgid "Current Branch:" +msgstr "Текущая ветвь:" + +#: git-gui.sh:2116 +msgid "Staged Changes (Will Be Committed)" +msgstr "Подготовлено (будет сохранено)" + +#: git-gui.sh:2136 +msgid "Unstaged Changes (Will Not Be Committed)" +msgstr "Изменено (не будет сохранено)" + +#: git-gui.sh:2183 +msgid "Add Existing" +msgstr "Добавить имеющиеся файлы" + +#: git-gui.sh:2229 +#, fuzzy +msgid "Initial Commit Message:" +msgstr "" +"Первоначальный комментарий к состоянию:" + +#: git-gui.sh:2230 +#, fuzzy +msgid "Amended Commit Message:" +msgstr "Исправленный комментарий к состоянию:" + +#: git-gui.sh:2231 +#, fuzzy +msgid "Amended Initial Commit Message:" +msgstr "" +"Первоначальный комментарий к " +"исправленному состоянию:" + +#: git-gui.sh:2232 +#, fuzzy +msgid "Amended Merge Commit Message:" +msgstr "" +"Комментарий к исправленному объединению:" + +#: git-gui.sh:2233 +msgid "Merge Commit Message:" +msgstr "Комментарий к объединению:" + +#: git-gui.sh:2234 +msgid "Commit Message:" +msgstr "Комментарий к состоянию:" + +#: git-gui.sh:2279 git-gui.sh:2417 lib/console.tcl:73 +msgid "Copy All" +msgstr "Копировать все" + +#: git-gui.sh:2303 lib/blame.tcl:104 +msgid "File:" +msgstr "Файл:" + +#: git-gui.sh:2405 +msgid "Refresh" +msgstr "Обновить" + +#: git-gui.sh:2426 +msgid "Apply/Reverse Hunk" +msgstr "Применить/Убрать изменение" + +#: git-gui.sh:2432 +msgid "Decrease Font Size" +msgstr "Уменьшить размер шрифта" + +#: git-gui.sh:2436 +msgid "Increase Font Size" +msgstr "Увеличить размер шрифта" + +#: git-gui.sh:2441 +msgid "Show Less Context" +msgstr "Меньше контекста" + +#: git-gui.sh:2448 +msgid "Show More Context" +msgstr "Больше контекста" + +#: git-gui.sh:2461 +msgid "Unstage Hunk From Commit" +msgstr "Не сохранять часть" + +#: git-gui.sh:2463 +msgid "Stage Hunk For Commit" +msgstr "Подготовить часть для сохранения" + +#: git-gui.sh:2473 +msgid "Initializing..." +msgstr "Инициализация..." + +#: lib/blame.tcl:77 +msgid "File Viewer" +msgstr "Просмотр файла" + +#: lib/blame.tcl:81 +msgid "Commit:" +msgstr "Сохраненное состояние:" + +#: lib/blame.tcl:249 +msgid "Copy Commit" +msgstr "Копировать сохраненное состояние" + +#: lib/blame.tcl:369 +#, tcl-format +msgid "Reading %s..." +msgstr "Чтение %s..." + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "Перейти на ветвь" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "Перейти" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:269 +#: lib/checkout_op.tcl:519 lib/merge.tcl:176 lib/option.tcl:172 +#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +msgid "Cancel" +msgstr "Отменить" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:274 +msgid "Revision" +msgstr "Версия" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 +#: lib/option.tcl:274 +msgid "Options" +msgstr "Настройки" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Получить изменения из внешней ветви" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "Отсоединить от локальной ветви" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "Создание ветви" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "Создать новую ветвь" + +#: lib/branch_create.tcl:31 +msgid "Create" +msgstr "Создать" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "Название ветви" + +#: lib/branch_create.tcl:43 +msgid "Name:" +msgstr "Название:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "Взять из имен ветвей слежения" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "Начальная версия" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Обновить имеющуюся ветвь:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "Нет" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Только Fast Forward" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:511 +msgid "Reset" +msgstr "Сброс" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "После создания сделать текущей" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "Укажите ветвь слежения." + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "" +"Ветвь слежения %s не является ветвью во " +"внешнем репозитории." + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "Укажите название ветви." + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "Недопустимое название ветви '%s'." + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "Удаление ветви" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "Удалить локальную ветвь" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "Локальные ветви" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "" +"Удалить только в случае, если было " +"объединение с" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "" +"Всегда (не выполнять проверку на " +"объединение)" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "" +"Следующие ветви объединены с %s не " +"полностью:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"Восстановить удаленную ветвь сложно. \n" +"\n" +" Удалить выбранные ветви?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"Не удалось удалить ветви:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "Переименование ветви" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "Переименовать" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "Ветвь:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "Новое название:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "Укажите ветвь для переименования." + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "Ветвь '%s' уже существует." + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "Не удалось переименовать '%s'. " + +#: lib/browser.tcl:10 +msgid "Starting..." +msgstr "Запуск..." + +#: lib/browser.tcl:19 +msgid "File Browser" +msgstr "Просмотр списка файлов" + +#: lib/browser.tcl:120 lib/browser.tcl:137 +#, tcl-format +msgid "Loading %s..." +msgstr "Загрузка %s..." + +#: lib/browser.tcl:254 lib/browser.tcl:260 +msgid "Browse Branch Files" +msgstr "Показать файлы ветви" + +#: lib/browser.tcl:265 +msgid "Browse" +msgstr "Показать" + +#: lib/checkout_op.tcl:79 +#, fuzzy, tcl-format +msgid "Fetching %s from %s" +msgstr "Получение изменений из %s " + +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +msgid "Close" +msgstr "Закрыть" + +#: lib/checkout_op.tcl:169 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "Ветвь '%s' не существует " + +#: lib/checkout_op.tcl:205 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"Ветвь '%s' уже существует.\n" +"\n" +"Она не может быть прокручена(fast-forward) к %s.\n" +"Требуется объединение." + +#: lib/checkout_op.tcl:219 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "" +"Операция объединения '%s' не " +"поддерживается." + +#: lib/checkout_op.tcl:238 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Не удалось обновить '%s'." + +#: lib/checkout_op.tcl:250 +msgid "Index is already locked." +msgstr "Индекс заблокирован." + +#: lib/checkout_op.tcl:265 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Последнее прочитанное состояние " +"репозитория не соответствует текущему.\n" +"\n" +"С момента последней проверки репозиторий " +"был изменен другой программой " +"Git.Необходимо перечитать репозиторий, " +"прежде чем изменять текущую ветвь. \n" +"\n" +"Это будет сделано сейчас автоматически.\n" + +#: lib/checkout_op.tcl:352 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "" +"Прерван переход на '%s' (требуется " +"объединение на уровне файлов)" + +#: lib/checkout_op.tcl:353 +msgid "File level merge required." +msgstr "" +"Требуется объединение на уровне файлов." + +#: lib/checkout_op.tcl:357 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Ветвь '%s' остается текущей." + +#: lib/checkout_op.tcl:426 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Вы находитесь не в локальной ветви.\n" +"\n" +"Если вы хотите снова вернуться к " +"какой-нибудь ветви, создайте ее сейчас, " +"начиная с 'Текущего отсоединенного " +"состояния'." + +#: lib/checkout_op.tcl:475 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "" +"Сброс '%s' в '%s' приведет к потере следующих " +"сохраненных состояний: " + +#: lib/checkout_op.tcl:497 +msgid "Recovering lost commits may not be easy." +msgstr "" +"Восстановить потерянные сохраненные " +"состояния будет сложно." + +#: lib/checkout_op.tcl:502 +#, tcl-format +msgid "Reset '%s'?" +msgstr "Сбросить '%s'?" + +#: lib/checkout_op.tcl:507 lib/merge.tcl:171 +msgid "Visualize" +msgstr "Наглядно" + +#: lib/checkout_op.tcl:575 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Не удалось установить текущую ветвь.\n" +"\n" +"Ваш рабочий каталог обновлен только " +"частично. Были обновлены все файлы кроме " +"служебных файлов Git. \n" +"\n" +"Этого не должно было произойти. %s " +"завершается." + +#: lib/choose_rev.tcl:35 +msgid "This Detached Checkout" +msgstr "Текущее отсоединенное состояние" + +#: lib/choose_rev.tcl:42 +msgid "Revision Expression:" +msgstr "Выражение для определения версии:" + +#: lib/choose_rev.tcl:56 +msgid "Local Branch" +msgstr "Локальная ветвь:" + +#: lib/choose_rev.tcl:61 +msgid "Tracking Branch" +msgstr "Ветвь слежения" + +#: lib/choose_rev.tcl:66 +msgid "Tag" +msgstr "Метка" + +#: lib/choose_rev.tcl:227 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Неверная версия: %s" + +#: lib/choose_rev.tcl:248 +msgid "No revision selected." +msgstr "Версия не указана." + +#: lib/choose_rev.tcl:256 +msgid "Revision expression is empty." +msgstr "" +"Пустое выражения для определения версии." + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Отсутствует состояние для исправления.\n" +"\n" +"Вы можете создать начальное сохраненное " +"состояние. Других состояний для " +"исправления нет.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Невозможно исправить состояние во время " +"объединения.\n" +"\n" +"Текущее объединение не завершено. " +"Невозможно исправить предыдущее " +"сохраненное состояние не прерывая " +"текущее объединение.\n" + +#: lib/commit.tcl:49 +msgid "Error loading commit data for amend:" +msgstr "" +"Ошибка при загрузке данных для " +"исправления сохраненного состояния:" + +#: lib/commit.tcl:76 +msgid "Unable to obtain your identity:" +msgstr "" +"Невозможно получить информацию об " +"авторстве:" + +#: lib/commit.tcl:81 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "Неверная GIT_COMMITTER_IDENT:" + +#: lib/commit.tcl:133 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Последнее прочитанное состояние " +"репозитория не соответствует текущему.\n" +"\n" +"С момента последней проверки репозиторий " +"был изменен другой программой " +"Git.Необходимо перечитать репозиторий, " +"прежде чем изменять текущую ветвь. \n" +"\n" +"Это будет сделано сейчас автоматически.\n" + +#: lib/commit.tcl:154 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and add the file before " +"committing.\n" +msgstr "" +"Нельзя сохранить необъединенные файлы.\n" +"\n" +"Для файла %s возник конфликт объединения. " +"Разрешите конфликт и добавьте к " +"подготовленным файлам перед " +"сохранением.\n" + +#: lib/commit.tcl:162 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Обнаружено неизвестное состояние файла " +"%s.\n" +"\n" +"Файл %s не может быть сохранен данной " +"программой.\n" + +#: lib/commit.tcl:170 +msgid "" +"No changes to commit.\n" +"\n" +"You must add at least 1 file before you can commit.\n" +msgstr "" +"Отсутствуют изменения для сохранения.\n" +"\n" +"Подготовьте хотя бы один файл до создания " +"сохраненного состояния.\n" + +#: lib/commit.tcl:183 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentance what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Напишите комментарий к сохраненному " +"состоянию.\n" +"\n" +"Рекомендуется следующий формат " +"комментария:\n" +"\n" +"- первая строка: краткое описание " +"сделанных изменений.\n" +"- вторая строка пустая\n" +"- оставшиеся строки: опишите, что дают " +"ваши изменения.\n" + +#: lib/commit.tcl:257 +msgid "write-tree failed:" +msgstr "" +"Программа write-tree завершилась с ошибкой:" + +#: lib/commit.tcl:279 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Отсутствуют изменения для сохранения.\n" +"\n" +"Ни один файл не был изменен и не было " +"объединения.\n" +"\n" +"Сейчас автоматически запустится " +"перечитывание репозитория.\n" + +#: lib/commit.tcl:286 +msgid "No changes to commit." +msgstr "Отуствуют измения для сохранения." + +#: lib/commit.tcl:317 +msgid "commit-tree failed:" +msgstr "" +"Программа commit-tree завершилась с ошибкой:" + +#: lib/commit.tcl:339 +msgid "update-ref failed:" +msgstr "" +"Программа update-ref завершилась с ошибкой:" + +#: lib/commit.tcl:430 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Создано состояние %s: %s " + +#: lib/console.tcl:55 +msgid "Working... please wait..." +msgstr "В процессе... пожалуйста, ждите..." + +#: lib/console.tcl:184 +msgid "Success" +msgstr "Процесс успешно завершен" + +#: lib/console.tcl:194 +msgid "Error: Command Failed" +msgstr "Ошибка: не удалось выполнить команду" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "Количество несвязанных объектов" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "" +"Объем дискового пространства, занятый " +"несвязанными объектами" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "Количество упакованных объектов" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "Количество pack-файлов" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "" +"Объем дискового пространства, занятый " +"упакованными объектами" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "" +"Несвязанные объекты, которые можно " +"удалить" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "Мусор" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Сжатие базы объектов" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Проверка базы объектов при помощи fsck" + +#: lib/diff.tcl:42 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"Изменений не обнаружено.\n" +"\n" +"в %s отутствуют изменения.\n" +"\n" +"Дата изменения файла была обновлена " +"другой программой, но содержимое файла " +"осталось прежним.\n" +"\n" +"Сейчас будет запущено перечитывание " +"репозитория, чтобы найти подобные файлы." + +#: lib/diff.tcl:97 +msgid "Error loading file:" +msgstr "Ошибка загрузки файла:" + +#: lib/diff.tcl:162 +msgid "Error loading diff:" +msgstr "Ошибка загрузки diff:" + +#: lib/diff.tcl:278 +msgid "Failed to unstage selected hunk." +msgstr "Не удалось исключить выбранную часть" + +#: lib/diff.tcl:285 +msgid "Failed to stage selected hunk." +msgstr "" +"Не удалось подготовить к сохранению " +"выбранную часть" + +#: lib/error.tcl:12 lib/error.tcl:102 +msgid "error" +msgstr "ошибка" + +#: lib/error.tcl:28 +msgid "warning" +msgstr "предупреждение" + +#: lib/error.tcl:81 +msgid "You must correct the above errors before committing." +msgstr "" +"Прежде чем сохранить, исправьте " +"вышеуказанные ошибки." + +#: lib/index.tcl:364 +#, fuzzy, tcl-format +msgid "Revert changes in file %s?" +msgstr "Отменить изменения" + +#: lib/index.tcl:366 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "Отменить изменения в %i файле(-ах)?" + +#: lib/index.tcl:372 +#, fuzzy +msgid "Any unadded changes will be permanently lost by the revert." +msgstr "" +"Отменить изменения в %s?\n" +"\n" +"Любые изменения, не подготовленные к " +"сохранению, будут потеряны при данной " +"операции." + +#: lib/index.tcl:375 +msgid "Do Nothing" +msgstr "Ничего не делать" + +#: lib/merge.tcl:14 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"Невозможно выполнить объединение во " +"время исправления.\n" +"\n" +"Завершите исправление данного состояния " +"перед выполнением операции объединения.\n" + +#: lib/merge.tcl:28 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Последнее прочитанное состояние " +"репозитория не соответствует текущему.\n" +"\n" +"С момента последней проверки репозиторий " +"был изменен другой программой " +"Git.Необходимо перечитать репозиторий, " +"прежде чем изменять текущую ветвь. \n" +"\n" +"Это будет сделано сейчас автоматически.\n" + +#: lib/merge.tcl:45 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, add the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"Предыдущее объединение не завершено " +"из-за конфликта.\n" +"\n" +"Для файла %s возник конфликт объединения.\n" +"Разрешите конфликт, подготовьте файл и " +"сохраните. Только после этого можно " +"начать следующее объединение.\n" + +#: lib/merge.tcl:55 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"Изменения не сохранены.\n" +"\n" +"Файл %s изменен.\n" +"\n" +"Подготовьте и сохраните измения перед " +"началом объединения. В случае " +"необходимости это позволит прервать " +"операцию объединения.\n" + +#: lib/merge.tcl:94 +#, tcl-format +msgid "Merging %s and %s" +msgstr "Объединение %s и %s" + +#: lib/merge.tcl:106 +msgid "Merge completed successfully." +msgstr "Объединение успешно завершено." + +#: lib/merge.tcl:108 +msgid "Merge failed. Conflict resolution is required." +msgstr "" +"Не удалось завершить объединение. " +"Требуется разрешение конфликта." + +#: lib/merge.tcl:166 +#, tcl-format +msgid "Merge Into %s" +msgstr "Объединить с %s" + +#: lib/merge.tcl:181 lib/transport.tcl:98 +msgid "Source Branches" +msgstr "Исходные ветви" + +#: lib/merge.tcl:240 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"Невозможно прервать исправление.\n" +"\n" +"Завершите текущее исправление " +"сохраненного состояния.\n" + +#: lib/merge.tcl:250 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"Прервать объединение?\n" +"Прерывание объединения приведет к потере " +"*ВСЕХ* несохраненных изменений.\n" +"\n" +"Продолжить?" + +#: lib/merge.tcl:256 +msgid "" +"Abort commit?\n" +"\n" +"Aborting the current commit will cause *ALL* uncommitted changes to be " +"lost.\n" +"\n" +"Continue with aborting the current commit?" +msgstr "" +"Отменить изменения?\n" +"\n" +"Вызванная операция приведет к потере " +"*ВСЕХ* несохраненных изменений.\n" +"\n" +"Продолжить?" + +#: lib/merge.tcl:267 +msgid "Aborting... please wait..." +msgstr "" +"Прерывание выполнения... Пожалуйста, " +"ждите..." + +#: lib/merge.tcl:290 +msgid "Abort completed. Ready." +msgstr "Прервано." + +#: lib/option.tcl:77 +msgid "git-gui - a graphical user interface for Git." +msgstr "" +"git-gui - графический пользовательский " +"интерфейс к Git." + +#: lib/option.tcl:164 +msgid "Restore Defaults" +msgstr "Восстановить настройки по умолчанию" + +#: lib/option.tcl:168 +msgid "Save" +msgstr "Сохранить" + +#: lib/option.tcl:178 +#, tcl-format +msgid "%s Repository" +msgstr "для репозитория %s " + +#: lib/option.tcl:179 +msgid "Global (All Repositories)" +msgstr "Общие (для всех репозиториев)" + +#: lib/option.tcl:185 +msgid "User Name" +msgstr "Имя пользователя" + +#: lib/option.tcl:186 +msgid "Email Address" +msgstr "Адес электронной почты" + +#: lib/option.tcl:188 +msgid "Summarize Merge Commits" +msgstr "" +"Суммарный комментарий при объединении" + +#: lib/option.tcl:189 +msgid "Merge Verbosity" +msgstr "" +"Уровень детальности сообщений при " +"объединении" + +#: lib/option.tcl:190 +msgid "Show Diffstat After Merge" +msgstr "" +"Показать отчет об изменениях после " +"объединения" + +#: lib/option.tcl:192 +msgid "Trust File Modification Timestamps" +msgstr "Доверять времени модификации файла" + +#: lib/option.tcl:193 +msgid "Prune Tracking Branches During Fetch" +msgstr "" +"Чистка ветвей слежения при получении " +"изменений" + +#: lib/option.tcl:194 +msgid "Match Tracking Branches" +msgstr "" +"Имя новой ветви взять из имен ветвей " +"слежения" + +#: lib/option.tcl:195 +msgid "Number of Diff Context Lines" +msgstr "Число строк в контексте diff" + +#: lib/option.tcl:196 +msgid "New Branch Name Template" +msgstr "Шаблон для имени новой ветви" + +#: lib/option.tcl:305 +msgid "Failed to completely save options:" +msgstr "" +"Не удалось полностью сохранить настройки:" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Remote Branch" +msgstr "Удалить внешнюю ветвь" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "Из репозитория" + +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +msgid "Remote:" +msgstr "внешний:" + +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +msgid "Arbitrary URL:" +msgstr "по указанному URL:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "Ветви" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "Удалить только в случае, если" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "Объединено с:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "" +"Всегда (не выполнять проверку " +"объединений)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "" +"Для опции 'Объединено с' требуется " +"указать ветвь." + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "" +"Укажите одну или несколько ветвей для " +"удаления." + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"Восстановить удаленные ветви сложно.\n" +"\n" +"Продолжить?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Удаление ветвей из %s" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "Не указан репозиторий" + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "Перечитывание %s... " + +#: lib/remote.tcl:156 +#, fuzzy, tcl-format +msgid "Fetch from %s..." +msgstr "Чистка %s... " + +#: lib/remote.tcl:166 +#, tcl-format +msgid "Prune from %s..." +msgstr "Чистка %s... " + +#: lib/remote.tcl:200 +#, tcl-format +msgid "Push to %s..." +msgstr "Отправка в %s..." + +#: lib/shortcut.tcl:26 lib/shortcut.tcl:74 +msgid "Cannot write script:" +msgstr "Невозможно записать скрипт:" + +#: lib/shortcut.tcl:149 +msgid "Cannot write icon:" +msgstr "Невозможно записать значок:" + +#: lib/status_bar.tcl:58 +#, tcl-format +msgid "%s ... %i of %i %s (%2i%%)" +msgstr "%s ... %i из %i %s (%2i%%)" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Получение изменений из %s " + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "Чистка ветвей слежения, удаленных из %s" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Отправка изменений в %s " + +#: lib/transport.tcl:68 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "Отправка %s %s в %s" + +#: lib/transport.tcl:84 +msgid "Push Branches" +msgstr "Отправить изменения" + +#: lib/transport.tcl:115 +msgid "Destination Repository" +msgstr "Репозиторий назначения" + +#: lib/transport.tcl:153 +msgid "Transfer Options" +msgstr "Настройки передачи" + +#: lib/transport.tcl:155 +msgid "Use thin pack (for slow network connections)" +msgstr "" +"Использовать thin pack (для медленных сетевых " +"подключений)" + +#: lib/transport.tcl:159 +msgid "Include tags" +msgstr "Включить метки" From f6b7de2acd704bfa33841e8c771054f18963dfac Mon Sep 17 00:00:00 2001 From: Miklos Vajna Date: Fri, 27 Jul 2007 14:37:33 +0200 Subject: [PATCH 15/91] Hungarian translation of git-gui Signed-off-by: Miklos Vajna Signed-off-by: Johannes Schindelin --- po/hu.po | 1422 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 1422 insertions(+) create mode 100644 po/hu.po diff --git a/po/hu.po b/po/hu.po new file mode 100644 index 0000000000..faac58f810 --- /dev/null +++ b/po/hu.po @@ -0,0 +1,1422 @@ +# Hungarian translations for git-gui-i package. +# Copyright (C) 2007 THE git-gui-i'S COPYRIGHT HOLDER +# This file is distributed under the same license as the git-gui-i package. +# Miklos Vajna , 2007. +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui-i 18n\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-08-11 17:28+0200\n" +"PO-Revision-Date: 2007-07-27 13:15+0200\n" +"Last-Translator: Miklos Vajna \n" +"Language-Team: Hungarian\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: git-gui.sh:531 +msgid "Cannot find git in PATH." +msgstr "A git nem található a PATH-ban." + +#: git-gui.sh:550 +msgid "Cannot parse Git version string:" +msgstr "Nem értelmezhető a Git verzió sztring:" + +#: git-gui.sh:567 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"Nem állípítható meg a Git verziója.\n" +"\n" +"A(z) %s szerint a verzió '%s'.\n" +"\n" +"A(z) %s a Git 1.5.0 vagy későbbi verzióját igényli.\n" +"\n" +"Feltételezhetjük, hogy a(z) '%s' verziója legalább 1.5.0?\n" + +#: git-gui.sh:689 +msgid "Cannot find the git directory:" +msgstr "Nem található a git könyvtár:" + +#: git-gui.sh:697 +msgid "Git directory not found:" +msgstr "A Git könyvtár nem található:" + +#: git-gui.sh:703 +msgid "Cannot use funny .git directory:" +msgstr "Nem használható vicces .git könyvtár:" + +#: git-gui.sh:708 +msgid "No working directory" +msgstr "Nincs munkakönyvtár" + +#: git-gui.sh:854 +msgid "Refreshing file status..." +msgstr "A fájlok státuszának frissítése..." + +#: git-gui.sh:891 +msgid "Scanning for modified files ..." +msgstr "Módosított fájlok keresése ..." + +#: git-gui.sh:1057 lib/browser.tcl:247 +msgid "Ready." +msgstr "Kész." + +#: git-gui.sh:1322 +msgid "Unmodified" +msgstr "Nem módosított" + +#: git-gui.sh:1324 +msgid "Modified, not staged" +msgstr "Módosított, de nem kiválasztott" + +#: git-gui.sh:1325 git-gui.sh:1330 +msgid "Staged for commit" +msgstr "Kiválasztva commitolásra" + +#: git-gui.sh:1326 git-gui.sh:1331 +msgid "Portions staged for commit" +msgstr "Részek kiválasztva commitolásra" + +#: git-gui.sh:1327 git-gui.sh:1332 +msgid "Staged for commit, missing" +msgstr "Kiválasztva commitolásra, hiányzó" + +#: git-gui.sh:1329 +msgid "Untracked, not staged" +msgstr "Nem követett, nem kiválasztott" + +#: git-gui.sh:1334 +msgid "Missing" +msgstr "Hiányzó" + +#: git-gui.sh:1335 +msgid "Staged for removal" +msgstr "Kiválasztva eltávolításra" + +#: git-gui.sh:1336 +msgid "Staged for removal, still present" +msgstr "Kiválasztva eltávolításra, jelenleg is elérhető" + +#: git-gui.sh:1338 git-gui.sh:1339 git-gui.sh:1340 git-gui.sh:1341 +msgid "Requires merge resolution" +msgstr "Merge feloldás szükséges" + +#: git-gui.sh:1383 +msgid "Starting gitk... please wait..." +msgstr "A gitk indítása... várjunk..." + +#: git-gui.sh:1392 +#, 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:1609 +#, tcl-format +msgid "Invalid font specified in gui.%s:" +msgstr "Érvénytelen font lett megadva a grafikus felületben.%s:" + +#: git-gui.sh:1634 +msgid "Main Font" +msgstr "Fő betűtípus" + +#: git-gui.sh:1635 +msgid "Diff/Console Font" +msgstr "Diff/konzol betűtípus" + +#: git-gui.sh:1649 +msgid "Repository" +msgstr "Repó" + +#: git-gui.sh:1650 +msgid "Edit" +msgstr "Szerkesztés" + +#: git-gui.sh:1652 +msgid "Branch" +msgstr "Branch" + +#: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152 +msgid "Commit" +msgstr "Commit" + +#: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "Merge" + +#: git-gui.sh:1659 +msgid "Fetch" +msgstr "Letöltés" + +#: git-gui.sh:1660 git-gui.sh:2158 lib/transport.tcl:88 lib/transport.tcl:172 +msgid "Push" +msgstr "Push" + +#: git-gui.sh:1669 +msgid "Browse Current Branch's Files" +msgstr "A jelenlegi branch fájljainak böngészése" + +#: git-gui.sh:1673 +msgid "Browse Branch Files..." +msgstr "A branch fájljainak böngészése..." + +#: git-gui.sh:1678 +msgid "Visualize Current Branch's History" +msgstr "A jelenlegi branch történetének vizualizálása" + +#: git-gui.sh:1682 +msgid "Visualize All Branch History" +msgstr "Az összes branch történetének vizualizálása" + +#: git-gui.sh:1689 +#, tcl-format +msgid "Browse %s's Files" +msgstr "A(z) %s branch fájljainak böngészése" + +#: git-gui.sh:1691 +#, tcl-format +msgid "Visualize %s's History" +msgstr "A(z) %s branch történetének vizualizálása" + +#: git-gui.sh:1696 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "Adatbázis statisztikák" + +#: git-gui.sh:1699 lib/database.tcl:34 +msgid "Compress Database" +msgstr "Adatbázis tömörítése" + +#: git-gui.sh:1702 +msgid "Verify Database" +msgstr "Adatbázis ellenőrzése" + +#: git-gui.sh:1709 git-gui.sh:1713 git-gui.sh:1717 lib/shortcut.tcl:9 +#: lib/shortcut.tcl:45 lib/shortcut.tcl:84 +msgid "Create Desktop Icon" +msgstr "Asztal ikon létrehozása" + +#: git-gui.sh:1722 +msgid "Quit" +msgstr "Kilépés" + +#: git-gui.sh:1729 +msgid "Undo" +msgstr "Visszavonás" + +#: git-gui.sh:1732 +msgid "Redo" +msgstr "Mégis" + +#: git-gui.sh:1736 git-gui.sh:2222 +msgid "Cut" +msgstr "Kivágás" + +#: git-gui.sh:1739 git-gui.sh:2225 git-gui.sh:2296 git-gui.sh:2368 +#: lib/console.tcl:69 +msgid "Copy" +msgstr "Másolás" + +#: git-gui.sh:1742 git-gui.sh:2228 +msgid "Paste" +msgstr "Beillesztés" + +#: git-gui.sh:1745 git-gui.sh:2231 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "Törlés" + +#: git-gui.sh:1749 git-gui.sh:2235 git-gui.sh:2372 lib/console.tcl:71 +msgid "Select All" +msgstr "Mindent kiválaszt" + +#: git-gui.sh:1758 +msgid "Create..." +msgstr "Létrehozás..." + +#: git-gui.sh:1764 +msgid "Checkout..." +msgstr "Checkout..." + +#: git-gui.sh:1770 +msgid "Rename..." +msgstr "Átnevezés..." + +#: git-gui.sh:1775 git-gui.sh:1873 +msgid "Delete..." +msgstr "Törlés..." + +#: git-gui.sh:1780 +msgid "Reset..." +msgstr "Visszaállítás..." + +#: git-gui.sh:1792 git-gui.sh:2169 +msgid "New Commit" +msgstr "Új commit" + +#: git-gui.sh:1800 git-gui.sh:2176 +msgid "Amend Last Commit" +msgstr "Utolsó commit javítása" + +#: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "Keresés újra" + +#: git-gui.sh:1815 +msgid "Stage To Commit" +msgstr "Kiválasztás commitolásra" + +#: git-gui.sh:1820 +msgid "Stage Changed Files To Commit" +msgstr "Módosított fájlok kiválasztása commitolásra" + +#: git-gui.sh:1826 +msgid "Unstage From Commit" +msgstr "Commitba való kiválasztás visszavonása" + +#: git-gui.sh:1831 lib/index.tcl:376 +msgid "Revert Changes" +msgstr "Változtatások visszaállítása" + +#: git-gui.sh:1838 git-gui.sh:2148 git-gui.sh:2246 +msgid "Sign Off" +msgstr "Aláír" + +#: git-gui.sh:1853 +msgid "Local Merge..." +msgstr "Helyi merge..." + +#: git-gui.sh:1858 +msgid "Abort Merge..." +msgstr "Merge megszakítása..." + +#: git-gui.sh:1870 +msgid "Push..." +msgstr "Push..." + +#: git-gui.sh:1880 +msgid "Apple" +msgstr "Apple" + +#: git-gui.sh:1883 git-gui.sh:1901 lib/option.tcl:65 +#, tcl-format +msgid "About %s" +msgstr "Névjegy: %s" + +#: git-gui.sh:1885 git-gui.sh:1891 git-gui.sh:2414 +msgid "Options..." +msgstr "Opciók..." + +#: git-gui.sh:1897 +msgid "Help" +msgstr "Segítség" + +#: git-gui.sh:1938 +msgid "Online Documentation" +msgstr "Online dokumentáció" + +#: git-gui.sh:2054 +msgid "Current Branch:" +msgstr "Jelenlegi branch:" + +#: git-gui.sh:2075 +msgid "Staged Changes (Will Be Committed)" +msgstr "Kiválasztott változtatások (commitolva lesz)" + +#: git-gui.sh:2095 +msgid "Unstaged Changes (Will Not Be Committed)" +msgstr "Nem kiválasztott változtatások (nem lesz commitolva)" + +#: git-gui.sh:2142 +msgid "Stage Changed" +msgstr "Változtatások kiválasztása" + +#: git-gui.sh:2188 +msgid "Initial Commit Message:" +msgstr "Kezdeti commit üzenet:" + +#: git-gui.sh:2189 +msgid "Amended Commit Message:" +msgstr "Javító commit üzenet:" + +#: git-gui.sh:2190 +msgid "Amended Initial Commit Message:" +msgstr "Kezdeti javító commit üzenet:" + +#: git-gui.sh:2191 +msgid "Amended Merge Commit Message:" +msgstr "Javító merge commit üzenet:" + +#: git-gui.sh:2192 +msgid "Merge Commit Message:" +msgstr "Merge commit üzenet:" + +#: git-gui.sh:2193 +msgid "Commit Message:" +msgstr "Commit üzenet:" + +#: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73 +msgid "Copy All" +msgstr "Összes másolása" + +#: git-gui.sh:2262 lib/blame.tcl:104 +msgid "File:" +msgstr "Fájl:" + +#: git-gui.sh:2364 +msgid "Refresh" +msgstr "Frissítés" + +#: git-gui.sh:2385 +msgid "Apply/Reverse Hunk" +msgstr "Hunk alkalmazása/visszaállítása" + +#: git-gui.sh:2391 +msgid "Decrease Font Size" +msgstr "Font méret csökkentése" + +#: git-gui.sh:2395 +msgid "Increase Font Size" +msgstr "Fönt méret növelése" + +#: git-gui.sh:2400 +msgid "Show Less Context" +msgstr "Kevesebb környezet mutatása" + +#: git-gui.sh:2407 +msgid "Show More Context" +msgstr "Több környezet mutatása" + +#: git-gui.sh:2422 +msgid "Unstage Hunk From Commit" +msgstr "Hunk törlése commitból" + +#: git-gui.sh:2426 git-gui.sh:2430 +msgid "Stage Hunk For Commit" +msgstr "Hunk kiválasztása commitba" + +#: git-gui.sh:2440 +msgid "Initializing..." +msgstr "Inicializálás..." + +#: lib/blame.tcl:77 +msgid "File Viewer" +msgstr "Fájl néző" + +#: lib/blame.tcl:81 +msgid "Commit:" +msgstr "Commit:" + +#: lib/blame.tcl:249 +msgid "Copy Commit" +msgstr "Commit másolása" + +#: lib/blame.tcl:369 +#, tcl-format +msgid "Reading %s..." +msgstr "A(z) %s olvasása..." + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "Branch checkoutolása" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "Checkout" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283 +#: lib/checkout_op.tcl:522 lib/merge.tcl:172 lib/option.tcl:172 +#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +msgid "Cancel" +msgstr "Mégsem" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:288 +msgid "Revision" +msgstr "Revízió" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 +#: lib/option.tcl:274 +msgid "Options" +msgstr "Opciók" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Követő branch letöltése" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "Helyi branch leválasztása" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "Branch létrehozása" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "Új branch létrehozása" + +#: lib/branch_create.tcl:31 +msgid "Create" +msgstr "Létrehozás" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "Branch neve" + +#: lib/branch_create.tcl:43 +msgid "Name:" +msgstr "Név:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "Egyeztetendő követési branch név" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "A következő revíziótól" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Létező branch frissítése" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "Nem" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Csak fast forward" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 +msgid "Reset" +msgstr "Visszaállítás" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "Checkout létrehozás után" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "Válasszunk ki egy követő branchet." + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "A(z) %s követő branch nem branch a távoli repóban." + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "Adjunk megy egy branch nevet." + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "A(z) '%s' nem egy elfogadható branch név." + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "Branch törlése" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "Helyi branch törlése" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "Helyi branchek" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "Csak már merge-ölt törlése" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "Mindig (Ne legyen merge teszt.)" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "A következő branchek nem teljesen lettek merge-ölve ebbe: %s:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"A törölt branchek visszaállítása bonyolult. \n" +"\n" +" Biztosan törli a kiválasztott brancheket?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"Nem sikerült törölni a következő brancheket:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "Branch átnevezése" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "Átnevezés" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "Branch:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "Új név:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "Válasszunk ki egy átnevezendő branchet." + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "A(z) '%s' branch már létezik." + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "Nem sikerült átnevezni: '%s'." + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "Indítás..." + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "Fájl böngésző" + +#: lib/browser.tcl:127 lib/browser.tcl:144 +#, tcl-format +msgid "Loading %s..." +msgstr "A(z) %s betöltése..." + +#: lib/browser.tcl:188 +msgid "[Up To Parent]" +msgstr "[Fel a szülőhöz]" + +#: lib/browser.tcl:268 lib/browser.tcl:274 +msgid "Browse Branch Files" +msgstr "A branch fájljainak böngészése" + +#: lib/browser.tcl:279 +msgid "Browse" +msgstr "Böngészés" + +#: lib/checkout_op.tcl:79 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "A(z) %s letöltése innen: %s" + +#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +msgid "Close" +msgstr "Bezárás" + +#: lib/checkout_op.tcl:169 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "A(z) '%s' branch nem létezik." + +#: lib/checkout_op.tcl:206 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"A(z) '%s' branch már létezik.\n" +"\n" +"Nem lehet fast-forwardolni a következőhöz: %s.\n" +"Egy merge szükséges." + +#: lib/checkout_op.tcl:220 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "A(z) '%s' merge strategy nem támogatott." + +#: lib/checkout_op.tcl:239 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Nem sikerült frissíteni a következőt: '%s'." + +#: lib/checkout_op.tcl:251 +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 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Az utolsó keresési állapot nem egyezik meg a repó állpotával.\n" +"\n" +"Egy másik Git program módosította ezt a repót az utolsó keresés óta. Egy " +"újrakeresés mindenképpen szükséges mielőtt a jelenlegi branchet módosítani " +"lehetne.\n" +"\n" +"Az újrakeresés most automatikusan el fog indulni.\n" + +#: lib/checkout_op.tcl:353 +#, 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 +msgid "File level merge required." +msgstr "Fájlszintű merge-ölés szükséges." + +#: lib/checkout_op.tcl:358 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Jelenleg a(z) '%s' branchen." + +#: lib/checkout_op.tcl:429 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Már nem egy helyi branchen vagyunk.\n" +"\n" +"Ha egy branchen szeretnénk lenni, hozzunk létre egyet az 'Ez a leválasztott " +"checkout'-ból." + +#: lib/checkout_op.tcl:478 +#, 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 +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 +#, tcl-format +msgid "Reset '%s'?" +msgstr "Visszaállítjuk a következőt: '%s'?" + +#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +msgid "Visualize" +msgstr "Vizualizálás" + +#: lib/checkout_op.tcl:578 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Nem sikerült beállítani a jelenlegi branchet.\n" +"\n" +"A munkakönyvtár csak részben váltott át. A fájlok sikeresen frissítve " +"lettek, de nem sikerült frissíteni egy belső Git fájlt.\n" +"\n" +"Ennek nem szabad megtörténnie. A(z) %s most kilép és feladja." + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "Ez a leválasztott checkout" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "Revízió kifejezés:" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "Helyi branch" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "Követő branch" + +#: lib/choose_rev.tcl:84 +msgid "Tag" +msgstr "Tag" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Érvénytelen revízió: %s" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "Nincs kiválasztva revízió." + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "A revízió kifejezés üres." + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Nincs semmi javítanivaló.\n" +"\n" +"Az első commit létrehozása előtt nincs semmilyen commit amit javitani " +"lehetne.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Nem lehet javítani merge alatt.\n" +"\n" +"A jelenlegi merge még nem teljesen fejeződött be. Csak akkor javíthat egy " +"előbbi commitot, hogyha megszakítja a jelenlegi merge folyamatot.\n" + +#: lib/commit.tcl:49 +msgid "Error loading commit data for amend:" +msgstr "Hiba a javítandó commit adat betöltése közben:" + +#: lib/commit.tcl:76 +msgid "Unable to obtain your identity:" +msgstr "Nem sikerült megállapítani az azonosítót:" + +#: lib/commit.tcl:81 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "Érvénytelen 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 "" +"Az utolsó keresési állapot nem egyezik meg a repó állapotával.\n" +"\n" +"Egy másik Git program módosította ezt a repót az utolsó keresés óta. Egy " +"újrakeresés mindenképpen szükséges mielőtt a jelenlegi branchet módosítani " +"lehetne.\n" +"\n" +"Az újrakeresés most automatikusan el fog indulni.\n" + +#: lib/commit.tcl:154 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"Nem commitolhatunk fájlokat merge előtt.\n" +"\n" +"A(z) %s fájlban ütközések vannak. Egyszer azokat ki kell javítani, majd " +"hozzá ki kell választani a fájlt mielőtt commitolni lehetne.\n" + +#: lib/commit.tcl:162 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Ismeretlen fájl típus %s érzékelve.\n" +"\n" +"A(z) %s fájlt nem tudja ez a program commitolni.\n" + +#: lib/commit.tcl:170 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"Nincs commitolandó változtatás.\n" +"\n" +"Legalább egy fájl ki kell választani, hogy commitolni lehessen.\n" + +#: lib/commit.tcl:183 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentance what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Adjunk megy egy commit üzenetet.\n" +"\n" +"Egy jó commit üzenetnek a következő a formátuma:\n" +"\n" +"- Első sor: Egy mondatban leírja, hogy mit csináltunk.\n" +"- Második sor: Üres\n" +"- A többi sor: Leírja, hogy miért jó ez a változtatás.\n" + +#: lib/commit.tcl:257 +msgid "write-tree failed:" +msgstr "a write-tree sikertelen:" + +#: lib/commit.tcl:279 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Nincs commitolandó változtatás.\n" +"\n" +"Egyetlen fájlt se módosított ez a commit és merge commit se volt.\n" +"\n" +"Az újrakeresés most automatikusan el fog indulni.\n" + +#: lib/commit.tcl:286 +msgid "No changes to commit." +msgstr "Nincs commitolandó változtatás." + +#: lib/commit.tcl:317 +msgid "commit-tree failed:" +msgstr "a commit-tree sikertelen:" + +#: lib/commit.tcl:339 +msgid "update-ref failed:" +msgstr "az update-ref sikertelen:" + +#: lib/commit.tcl:430 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Létrejött a %s commit: %s" + +#: lib/console.tcl:55 +msgid "Working... please wait..." +msgstr "Munka folyamatban.. Várjunk..." + +#: lib/console.tcl:184 +msgid "Success" +msgstr "Siker" + +#: lib/console.tcl:194 +msgid "Error: Command Failed" +msgstr "Hiba: a parancs sikertelen" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "Elvesztett objektumok száma" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "Elveszett objektumok által elfoglalt lemezterület" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "Csomagolt objektumok számra" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "Csomagok száma" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "A csomagolt objektumok által használt lemezterület" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "Eltávolításra váró csomagolt objektumok számra" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "Hulladék fájlok" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Az objektum adatbázis tömörítése" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Az objektum adatbázis ellenőrzése az fsck-objects használatával" + +#: lib/diff.tcl:42 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"Nincsenek változások.\n" +"\n" +"A(z) %s módosítatlan.\n" +"\n" +"A fájl módosítási dátumát frissítette egy másik alkalmazás, de a fájl " +"tartalma változatlan.\n" +"\n" +"Egy újrakeresés fog indulni a hasonló állapotú fájlok megtalálása érdekében." + +#: lib/diff.tcl:97 +msgid "Error loading file:" +msgstr "Hiba a fájl betöltése közben:" + +#: lib/diff.tcl:162 +msgid "Error loading diff:" +msgstr "Hiba a diff betöltése közben:" + +#: lib/diff.tcl:278 +msgid "Failed to unstage selected hunk." +msgstr "Nem visszavonni a hunk kiválasztását." + +#: lib/diff.tcl:285 +msgid "Failed to stage selected hunk." +msgstr "Nem sikerült kiválasztani a hunkot." + +#: lib/error.tcl:12 lib/error.tcl:102 +msgid "error" +msgstr "hiba" + +#: lib/error.tcl:28 +msgid "warning" +msgstr "figyelmeztetés" + +#: lib/error.tcl:81 +msgid "You must correct the above errors before committing." +msgstr "Ki kell javítanunk a fenti hibákat commit előtt." + +#: lib/index.tcl:364 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "Visszaállítja a változtatásokat a(z) %s fájlban?" + +#: lib/index.tcl:366 +#, 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:372 +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:375 +msgid "Do Nothing" +msgstr "Ne csináljunk semmit" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"Javítás közben nem lehetséges a merge.\n" +"\n" +"Egyszer be kell fejezni ennek a commitnak a javítását, majd kezdődhet egy " +"merge.\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Az utolsó keresési állapot nem egyezik meg a repó állapotával.\n" +"\n" +"Egy másik Git program módosította ezt a repót az utolsó keresés óta. Egy " +"újrakeresés mindenképpen szükséges mielőtt a jelenlegi branchet módosítani " +"lehetne.\n" +"\n" +"Az újrakeresés most automatikusan el fog indulni.\n" + +#: lib/merge.tcl:44 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"Jelenleg egy ütközés feloldása közben vagyunk.\n" +"\n" +"A(z) %s fájlban ütközések vannak.\n" +"\n" +"Fel kell oldanunk őket, kiválasztani a fájlt, és commitolni hogy befejezzük " +"a jelenlegi merge-t. Csak ezután kezdhetünk el egy újabbat.\n" + +#: lib/merge.tcl:54 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"Jelenleg egy változtatás közben vagyunk.\n" +"\n" +"A(z) %s fájl megváltozott.\n" +"\n" +"Először be kell fejeznünk a jelenlegi commitot, hogy elkezdhessünk egy merge-" +"t. Ez segíteni fog, hogy félbeszakíthassunk egy merge-t.\n" + +#: lib/merge.tcl:106 +#, tcl-format +msgid "%s of %s" +msgstr "%s / %s" + +#: lib/merge.tcl:119 +#, tcl-format +msgid "Merging %s and %s" +msgstr "A(z) %s és a(z) %s merge-ölése" + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "A merge sikeresen befejeződött." + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "A merge sikertelen. Fel kell oldanunk az ütközéseket." + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "Merge-ölés a következőbe: %s" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "Merge-ölni szándékozott revízió" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"A commit javítás közben megszakítva.\n" +"\n" +"Be kell fejeznünk ennek a commitnak a javítását.\n" + +#: lib/merge.tcl:222 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"Megszakítjuk a merge-t?\n" +"\n" +"A jelenlegi merge megszakítása *MINDEN* nem commitolt változtatás " +"elvesztését jelenti.\n" +"\n" +"Folytatjuk a jelenlegi merge megszakítását?" + +#: lib/merge.tcl:228 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"Visszavonjuk a módosításokat?\n" +"\n" +"A módosítások visszavonása *MINDEN* nem commitolt változtatás elvesztését " +"jelenti.\n" +"\n" +"Folytatjuk a jelenlegi módosítások visszavonását?" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "Félbeszakítás" + +#: lib/merge.tcl:266 +msgid "Abort failed." +msgstr "A félbeszakítás nem sikerült." + +#: lib/merge.tcl:268 +msgid "Abort completed. Ready." +msgstr "A megkeszakítás befejeződött. Kész." + +#: lib/option.tcl:77 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - egy grafikus felület a Githez." + +#: lib/option.tcl:164 +msgid "Restore Defaults" +msgstr "Alapértelmezés visszaállítása" + +#: lib/option.tcl:168 +msgid "Save" +msgstr "Mentés" + +#: lib/option.tcl:178 +#, tcl-format +msgid "%s Repository" +msgstr "%s Repó" + +#: lib/option.tcl:179 +msgid "Global (All Repositories)" +msgstr "Globális (minden repó)" + +#: lib/option.tcl:185 +msgid "User Name" +msgstr "Felhasználónév" + +#: lib/option.tcl:186 +msgid "Email Address" +msgstr "Email cím" + +#: lib/option.tcl:188 +msgid "Summarize Merge Commits" +msgstr "A merge commitok összegzése" + +#: lib/option.tcl:189 +msgid "Merge Verbosity" +msgstr "Merge beszédesség" + +#: lib/option.tcl:190 +msgid "Show Diffstat After Merge" +msgstr "Diffstat mutatása merge után" + +#: lib/option.tcl:192 +msgid "Trust File Modification Timestamps" +msgstr "A fájl módosítási dátumok megbízhatóak" + +#: lib/option.tcl:193 +msgid "Prune Tracking Branches During Fetch" +msgstr "A követő branchek eltávolítása letöltés alatt" + +#: lib/option.tcl:194 +msgid "Match Tracking Branches" +msgstr "A követő branchek egyeztetése" + +#: lib/option.tcl:195 +msgid "Number of Diff Context Lines" +msgstr "A diff környezeti sorok száma" + +#: lib/option.tcl:196 +msgid "New Branch Name Template" +msgstr "Új branch név sablon" + +#: lib/option.tcl:305 +msgid "Failed to completely save options:" +msgstr "Nem sikerült teljesen elmenteni a beállításokat:" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Remote Branch" +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:118 +msgid "Remote:" +msgstr "Távoli:" + +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +msgid "Arbitrary URL:" +msgstr "Tetszőleges URL:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "Branchek" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "Törlés csak akkor ha" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "Merge-ölt a következőbe:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "Mindig (Ne végezzen merge vizsgálatokat)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "Egy branch szükséges a 'Merge-ölt a következőbe'-hez." + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"Egy vagy több merge teszt hibát jelzett, mivel nem töltöttük le a megfelelő " +"commitokat. Próbáljunk meg letölteni a következőből: %s először." + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "Válasszunk ki egy vagy több branchet törlésre." + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"A törölt branchek visszaállítása nehéz.\n" +"\n" +"Töröljük a kiválasztott brancheket?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Brancek törlése innen: %s" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "Nincs kiválasztott repó." + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "Keresés itt: %s..." + +# tcl-format +#: lib/remote.tcl:162 +#, tcl-format +msgid "Fetch from %s..." +msgstr "Letöltés innen: %s..." + +#: lib/remote.tcl:172 +#, tcl-format +msgid "Prune from %s..." +msgstr "Törlés innen: %s..." + +#: lib/remote.tcl:206 +#, tcl-format +msgid "Push to %s..." +msgstr "Pusholás ide: %s..." + +#: lib/shortcut.tcl:26 lib/shortcut.tcl:74 +msgid "Cannot write script:" +msgstr "Nem sikerült írni a scriptet:" + +#: lib/shortcut.tcl:149 +msgid "Cannot write icon:" +msgstr "Nem sikerült írni az ikont:" + +#: lib/status_bar.tcl:58 +#, tcl-format +msgid "%s ... %i of %i %s (%2i%%)" +msgstr "%s ... %i / %i %s (%2i%%)" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Új változások letöltése innen: %s" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "A %s repóból törölt követő branchek törlése" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Változások pusholása ide: %s" + +#: lib/transport.tcl:68 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "Pusholás: %s %s, ide: %s" + +#: lib/transport.tcl:84 +msgid "Push Branches" +msgstr "Branchek pusholása" + +#: lib/transport.tcl:98 +msgid "Source Branches" +msgstr "Forrás branchek" + +#: lib/transport.tcl:115 +msgid "Destination Repository" +msgstr "Cél repó" + +#: lib/transport.tcl:153 +msgid "Transfer Options" +msgstr "Átviteli opciók" + +#: lib/transport.tcl:155 +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:159 +msgid "Include tags" +msgstr "Tageket is" + +#~ 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" + +#~ msgid "" +#~ "Abort commit?\n" +#~ "\n" +#~ "Aborting the current commit will cause *ALL* uncommitted changes to be " +#~ "lost.\n" +#~ "\n" +#~ "Continue with aborting the current commit?" +#~ msgstr "" +#~ "Megszakítjuk a commitot?\n" +#~ "\n" +#~ "A jelenlegi commit megszakítása *MINDEN* nem commitolt változtatás " +#~ "elvesztését jelenti.\n" +#~ "\n" +#~ "Folytatjuk a jelenlegi commit megszakítását?" + +#~ msgid "Aborting... please wait..." +#~ msgstr "Megszakítás... várjunk..." From fcc73b71557c31ba79acd4e186fec00b096f12f2 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Tue, 24 Jul 2007 14:59:15 +0200 Subject: [PATCH 16/91] German glossary for translation Signed-off-by: Christian Stimming Signed-off-by: Johannes Schindelin --- po/glossary/de.po | 158 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 158 insertions(+) create mode 100644 po/glossary/de.po diff --git a/po/glossary/de.po b/po/glossary/de.po new file mode 100644 index 0000000000..aab3b22f50 --- /dev/null +++ b/po/glossary/de.po @@ -0,0 +1,158 @@ +# Translation of git-gui glossary to German +# Copyright (C) 2007 Shawn Pearce, et al. +# This file is distributed under the same license as the git package. +# Christian Stimming , 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui glossary\n" +"PO-Revision-Date: 2007-07-26 14:45+0200\n" +"Last-Translator: Christian Stimming \n" +"Language-Team: German \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)" +msgid "" +"English Term (Dear translator: This file will never be visible to the user!)" +msgstr "" +"Deutsche Übersetzung.\n" +"Andere deutsche SCM:\n" +" http://tortoisesvn.net/docs/release/TortoiseSVN_de/index.html und http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/Languages/Tortoise_de.po (username=guest, password empty, gut),\n" +" http://msdn.microsoft.com/de-de/library/ms181038(vs.80).aspx (MS Visual Source Safe, kommerziell),\n" +" http://cvsbook.red-bean.com/translations/german/Kap_06.html (mittelmäßig),\n" +" http://tortoisecvs.cvs.sourceforge.net/tortoisecvs/po/TortoiseCVS/de_DE.po?view=markup (mittelmäßig),\n" +" http://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/locale/de/rapidsvn.po (username=guest, password empty, schlecht)" + +#. "" +msgid "amend" +msgstr "nachbessern (ergänzen)" + +#. "" +msgid "annotate" +msgstr "annotieren" + +#. "A 'branch' is an active line of development." +msgid "branch [noun]" +msgstr "Zweig" + +#. "" +msgid "branch [verb]" +msgstr "verzweigen" + +#. "" +msgid "checkout [noun]" +msgstr "Auscheck? Ausspielung? Abruf? (Source Safe: Auscheckvorgang)" + +#. "The action of updating the working tree to a revision which was stored in the object database." +msgid "checkout [verb]" +msgstr "auschecken? ausspielen? abrufen? (Source Safe: auschecken)" + +#. "A single point in the git history." +msgid "commit [noun]" +msgstr "Übertragung (Sendung?, Übergabe?, Einspielung?, Ablagevorgang?)" + +#. "The action of storing a new snapshot of the project's state in the git history." +msgid "commit [verb]" +msgstr "übertragen (TortoiseSVN: übertragen; Source Safe: einchecken; senden?, übergeben?, einspielen?, einpflegen?, ablegen?)" + +#. "" +msgid "diff [noun]" +msgstr "Vergleich (Source Safe: Unterschiede)" + +#. "" +msgid "diff [verb]" +msgstr "vergleichen" + +#. "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have." +msgid "fast forward merge" +msgstr "Schnellzusammenführung" + +#. "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too." +msgid "fetch" +msgstr "anfordern (holen?)" + +#. "A collection of files. The index is a stored version of your working tree." +msgid "index (in git-gui: staging area)" +msgstr "Bereitstellung" + +#. "A successful merge results in the creation of a new commit representing the result of the merge." +msgid "merge [noun]" +msgstr "Zusammenführung" + +#. "To bring the contents of another branch into the current branch." +msgid "merge [verb]" +msgstr "zusammenführen" + +#. "" +msgid "message" +msgstr "Meldung (Nachricht?; Source Safe: Kommentar)" + +#. "Pulling a branch means to fetch it and merge it." +msgid "pull" +msgstr "übernehmen (ziehen?)" + +#. "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)" +msgid "push" +msgstr "ausliefern (hochladen? verschicken? schieben?)" + +#. "" +msgid "redo" +msgstr "wiederholen" + +#. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)" +msgid "repository" +msgstr "Projektarchiv" + +#. "" +msgid "reset" +msgstr "zurücksetzen (zurückkehren?)" + +#. "" +msgid "revert" +msgstr "revidieren" + +#. "A particular state of files and directories which was stored in the object database." +msgid "revision" +msgstr "Version (TortoiseSVN: Revision; Source Safe: Version)" + +#. "" +msgid "sign off" +msgstr "abzeichnen (gegenzeichnen?, freizeichnen?, absegnen?)" + +#. "" +msgid "staging area" +msgstr "Bereitstellung" + +#. "" +msgid "status" +msgstr "Status" + +#. "A ref pointing to a tag or commit object" +msgid "tag [noun]" +msgstr "Markierung" + +#. "" +msgid "tag [verb]" +msgstr "markieren" + +#. "A regular git branch that is used to follow changes from another repository." +msgid "tracking branch" +msgstr "Übernahmezweig" + +#. "" +msgid "undo" +msgstr "rückgängig" + +#. "" +msgid "update" +msgstr "aktualisieren" + +#. "" +msgid "verify" +msgstr "überprüfen" + +#. "The tree of actual checked out files." +msgid "working copy, working tree" +msgstr "Arbeitskopie" From b4b093d1109d0a1fd6f20c21751665ee6ca66f9b Mon Sep 17 00:00:00 2001 From: Xudong Guan Date: Wed, 25 Jul 2007 13:47:17 +0100 Subject: [PATCH 17/91] git-gui: Added initial version of po/glossary/zh_cn.po with contributions from LI Yang, WANG Cong, ZHANG Le, and rae l from the zh-kernel.org mailing list. Signed-off-by: Johannes Schindelin --- po/glossary/zh_cn.po | 170 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 170 insertions(+) create mode 100644 po/glossary/zh_cn.po diff --git a/po/glossary/zh_cn.po b/po/glossary/zh_cn.po new file mode 100644 index 0000000000..158835b5c1 --- /dev/null +++ b/po/glossary/zh_cn.po @@ -0,0 +1,170 @@ +# Translation of git-gui glossary to Simplified Chinese +# Copyright (C) 2007 Shawn Pearce, et al. +# This file is distributed under the same license as the git package. +# Xudong Guan and the zh-kernel.org mailing list, 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui glossary\n" +"PO-Revision-Date: 2007-07-23 22:07+0200\n" +"Last-Translator: Xudong Guan \n" +"Language-Team: Simplified Chinese \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)" +msgid "" +"English Term (Dear translator: This file will never be visible to the user!)" +msgstr "注:这个文件是为了帮助翻译人员统一名词术语。最终用户不会关心这个文件。" + +#. "" +#. amend指用户修改最近一次commit的操作,修订?修改?修正? +#. [WANG Cong]: 根据我的了解,这个词似乎翻译成“修订”多一些。“修正”也可以,“修改”再次之。 +#. [ZHANG Le]: 修订,感觉一般指对一些大型出版物的大规模升级,比如修订新华字典 +# 修正,其实每次amend的结果也不一定就是最后结果,说不定还需要修改。所以不 +# 如就叫修改 +msgid "amend" +msgstr "修订" + +#. "" +#. git annotate 文件名:用来标注文件的每一行在什么时候被谁最后修改。 +#. [WANG Cong]: "标记"一般是mark。;) +#. [ZHANG Le]: 标注,或者干脆用原意:注解,或注释 +msgid "annotate" +msgstr "标注" + +#. "A 'branch' is an active line of development." +msgid "branch [noun]" +msgstr "分支" + +#. "" +msgid "branch [verb]" +msgstr "建立分支" + +#. "" +#. [WANG Cong]: 网上有人翻译成“检出”,我感觉更好一些,毕竟把check的意思翻译出来了。 +#. [ZHNAG Le]: 提取吧,提取分支/版本 +#. [rae l]: 签出。subversion软件中的大多词汇已有翻译,既然git与subversion同是SCM管理,可以参考同类软件的翻译也不错。 +msgid "checkout [noun]" +msgstr "签出" + +#. "The action of updating the working tree to a revision which was stored in the object database." +msgid "checkout [verb]" +msgstr "签出" + +#. "A single point in the git history." +msgid "commit [noun]" +msgstr "提交" + +#. "The action of storing a new snapshot of the project's state in the git history." +msgid "commit [verb]" +msgstr "提交" + +#. "" +#. 差异?差别? +#. [ZHANG Le]: 个人感觉差别更加中性一些 +msgid "diff [noun]" +msgstr "差别" + +#. "" +msgid "diff [verb]" +msgstr "比较" + +#. "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have." +msgid "fast forward merge" +msgstr "快进式合并" + +#. "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too." +#. 获取?取得?下载?更新?注意和update的区分 +msgid "fetch" +msgstr "获取" + +#. "A collection of files. The index is a stored version of your working tree." +#. index是working tree和repository之间的缓存 +msgid "index (in git-gui: staging area)" +msgstr "工作缓存?" + +#. "A successful merge results in the creation of a new commit representing the result of the merge." +msgid "merge [noun]" +msgstr "合并" + +#. "To bring the contents of another branch into the current branch." +msgid "merge [verb]" +msgstr "合并" + +#. "" +#. message是指commit中的文字信息 +msgid "message" +msgstr "描述" + +#. "Pulling a branch means to fetch it and merge it." +msgid "pull" +msgstr "获取+合并" + +#. "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)" +msgid "push" +msgstr "推入" + +#. "" +msgid "redo" +msgstr "重做" + +#. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)" +msgid "repository" +msgstr "仓库" + +#. "" +msgid "reset" +msgstr "重置" + +#. "" +msgid "revert" +msgstr "恢复" + +#. "A particular state of files and directories which was stored in the object database." +msgid "revision" +msgstr "版本" + +#. "" +msgid "sign off" +msgstr "签名" + +#. "" +#. 似乎是git-gui里面显示的本次提交的文件清单区域 +msgid "staging area" +msgstr "提交暂存区" + +#. "" +msgid "status" +msgstr "状态" + +#. "A ref pointing to a tag or commit object" +msgid "tag [noun]" +msgstr "标签" + +#. "" +msgid "tag [verb]" +msgstr "添加标签" + +#. "A regular git branch that is used to follow changes from another repository." +msgid "tracking branch" +msgstr "跟踪分支" + +#. "" +msgid "undo" +msgstr "撤销" + +#. "" +msgid "update" +msgstr "更新。注意和fetch的区分" + +#. "" +msgid "verify" +msgstr "验证" + +#. "The tree of actual checked out files." +#. "工作副本?工作区域?工作目录" +#. [LI Yang]: 当前副本, 当前源码树? +msgid "working copy, working tree" +msgstr "工作副本,工作源码树" From 2ea22555073a1272ba1dc4ecb9968c0f8616e860 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 3 Sep 2007 00:17:04 -0400 Subject: [PATCH 18/91] git-gui: Update po/README as symlink process is not necessary We don't actually need to create the lib/msgs symlink back to our po directory in the source tree. git-gui.sh is smart enough to figure out this is where the msg files are and will load them from the po directory if invoked as git-gui.sh. Signed-off-by: Shawn O. Pearce --- po/README | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/po/README b/po/README index af5dfad8c7..e7cf405247 100644 --- a/po/README +++ b/po/README @@ -130,12 +130,7 @@ resulting git-gui under your locale: $ make install $ LANG=af git-gui -There is a trick to test your translation without first installing, if -you prefer. First, create this symbolic link in the source tree: - - $ ln -s ../po lib/msgs - -After setting up such a symbolic link, you can: +There is a trick to test your translation without first installing: $ make $ LANG=af ./git-gui.sh From b86882eda026a0da18472587034250a53e0daf51 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 3 Sep 2007 00:22:19 -0400 Subject: [PATCH 19/91] git-gui: Correct stock message for 'Invalid font specified in %s' This particular message is talking about a specific option in the configuration file named "gui.$name". This option is not localized so we cannot localize the "gui." that denotes the section the option $name is found within. Currently there are no plans to localize the configuration options for git-gui, but if that were to change in the future then it would be necessary to localize not only the "gui." section prefix but also the $name (fontui and fontdiff). Signed-off-by: Shawn O. Pearce --- git-gui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-gui.sh b/git-gui.sh index 913ba68101..5635eeae36 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1643,7 +1643,7 @@ proc apply_config {} { font configure $font $cn $cv } } err]} { - error_popup [append [mc "Invalid font specified in gui.%s:" $name] "\n\n$err"] + error_popup [append [mc "Invalid font specified in %s:" "gui.$name"] "\n\n$err"] } foreach {cn cv} [font configure $font] { font configure ${font}bold $cn $cv From 87b63de49c04c3e78d37c68b72a6bcbc86724760 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 3 Sep 2007 00:42:09 -0400 Subject: [PATCH 20/91] git-gui: Quiet the msgfmt part of the make process I really prefer having a very short and sweet makefile output that does not flood the user's screen with a ton of commands that they don't care much about. Traditionally git-gui has hidden away the actual commands from output by the $(QUIET*) series of macros but allow them to be seen with either `make QUIET=` or `make V=1`. This change makes our i18n message generation process to be a lot shorter and easier to digest at a glance: GITGUI_VERSION = 0.8.2.19.gb868-dirty * new locations or Tcl/Tk interpreter GEN git-gui BUILTIN git-citool INDEX lib/ MSGFMT po/de.msg 268 translated. MSGFMT po/hu.msg 268 translated. MSGFMT po/it.msg 268 translated. MSGFMT po/ja.msg 268 translated. MSGFMT po/ru.msg 249 translated, 12 fuzzy, 4 untranslated. MSGFMT po/zh_cn.msg 60 translated, 37 fuzzy, 168 untranslated. Signed-off-by: Shawn O. Pearce --- Makefile | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 559e65ecd6..875edacac3 100644 --- a/Makefile +++ b/Makefile @@ -47,6 +47,8 @@ ifndef V QUIET_GEN = $(QUIET)echo ' ' GEN $@ && QUIET_BUILT_IN = $(QUIET)echo ' ' BUILTIN $@ && QUIET_INDEX = $(QUIET)echo ' ' INDEX $(dir $@) && + QUIET_MSGFMT0 = $(QUIET)printf ' MSGFMT %12s ' $@ && + QUIET_MSGFMT1 = 2>&1 | sed -e 's/fuzzy translations/fuzzy/' | sed -e 's/ messages//g' QUIET_2DEVNULL = 2>/dev/null INSTALL_D0 = dir= @@ -104,6 +106,7 @@ $(GITGUI_BUILT_INS): git-gui $(QUIET_BUILT_IN)rm -f $@ && ln git-gui $@ XGETTEXT ?= xgettext +MSGFMT ?= msgfmt msgsdir ?= $(libdir)/msgs msgsdir_SQ = $(subst ','\'',$(msgsdir)) PO_TEMPLATE = po/git-gui.pot @@ -115,8 +118,7 @@ $(PO_TEMPLATE): $(SCRIPT_SH) $(ALL_LIBFILES) update-po:: $(PO_TEMPLATE) $(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; ) $(ALL_MSGFILES): %.msg : %.po - @echo Generating catalog $@ - msgfmt --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@) + $(QUIET_MSGFMT0)$(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@) $(QUIET_MSGFMT1) lib/tclIndex: $(ALL_LIBFILES) $(QUIET_INDEX)if echo \ From 74e528bf44e715774e3a8e0003a6b2b250f4f0b9 Mon Sep 17 00:00:00 2001 From: Michele Ballabio Date: Sun, 2 Sep 2007 14:43:00 +0200 Subject: [PATCH 21/91] git-gui: remove dots in some UI strings Dots in a UI string usually mean that a dialog box will appear waiting for further input. So this patch removes unneeded dots for actions that do not require user's input. Signed-off-by: Michele Ballabio Signed-off-by: Shawn O. Pearce --- lib/remote.tcl | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/remote.tcl b/lib/remote.tcl index 62bfe8f741..aba6eb8343 100644 --- a/lib/remote.tcl +++ b/lib/remote.tcl @@ -159,7 +159,7 @@ proc populate_fetch_menu {} { if {$enable} { lappend prune_list $r $m add command \ - -label [mc "Fetch from %s..." $r] \ + -label [mc "Fetch from %s" $r] \ -command [list fetch_from $r] } } @@ -169,7 +169,7 @@ proc populate_fetch_menu {} { } foreach r $prune_list { $m add command \ - -label [mc "Prune from %s..." $r] \ + -label [mc "Prune from %s" $r] \ -command [list prune_from $r] } } @@ -203,7 +203,7 @@ proc populate_push_menu {} { $m add separator } $m add command \ - -label [mc "Push to %s..." $r] \ + -label [mc "Push to %s" $r] \ -command [list push_to $r] incr fast_count } From 6e4ba05c7fee0d0140e2057b63f5ca4eea9a6053 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sun, 2 Sep 2007 15:19:07 -0400 Subject: [PATCH 22/91] git-gui: Correct starting of git-remote to handle -w option Current versions of git-remote apparently are passing the -w option to Perl as part of the shbang line: #!/usr/bin/perl -w this caused a problem in git-gui and gave the user a Tcl error with the message: "git-remote not supported: #!/usr/bin/perl -w". The fix for this is to treat the shbang line as a Tcl list and look at the first element only for guessing the executable name. Once we know the executable name we use the remaining elements (if any exist) as arguments to the executable, before the script filename. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index fa30ccc5d6..e495046c3b 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -261,7 +261,7 @@ proc _git_cmd {name} { set s [gets $f] close $f - switch -glob -- $s { + switch -glob -- [lindex $s 0] { #!*sh { set i sh } #!*perl { set i perl } #!*python { set i python } @@ -275,7 +275,7 @@ proc _git_cmd {name} { if {$interp eq {}} { error "git-$name requires $i (not in PATH)" } - set v [list $interp $p] + set v [concat [list $interp] [lrange $s 1 end] [list $p]] } else { # Assume it is builtin to git somehow and we # aren't actually able to see a file for it. From 881d8f24cab5bf4e0fa71b17a3ab82e27b2e8ed7 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sun, 2 Sep 2007 15:30:26 -0400 Subject: [PATCH 23/91] git-gui: Fix detaching current branch during checkout If the user tried to detach their HEAD while keeping the working directory on the same commit we actually did not completely do a detach operation internally. The problem was caused by git-gui not forcing the HEAD symbolic ref to be updated to a SHA-1 hash when we were not switching revisions. Now we update the HEAD ref if we aren't currently detached or the hashes don't match. Signed-off-by: Shawn O. Pearce --- lib/checkout_op.tcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/checkout_op.tcl b/lib/checkout_op.tcl index 170f737f61..76f04f2854 100644 --- a/lib/checkout_op.tcl +++ b/lib/checkout_op.tcl @@ -396,7 +396,7 @@ method _after_readtree {} { set is_detached 0 } } else { - if {$new_hash ne $HEAD} { + if {!$is_detached || $new_hash ne $HEAD} { append log " to $new_expr" if {[catch { _detach_HEAD $log $new_hash From 047d94d505c9837a60c28e121de65471dadce74b Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sun, 2 Sep 2007 15:38:04 -0400 Subject: [PATCH 24/91] git-gui: Properly set the state of "Stage/Unstage Hunk" action Today I found yet another way for the "Stage Hunk" and "Unstage Hunk" context menu actions to leave the wrong state enabled in the UI. The problem this time was that I connected the state determination to the value of $::current_diff_side (the side the diff is from). When the user was last looking at a diff from the index side and unstages everything the diff panel goes empty, but the action stayed enabled as we always assumed unstaging was a valid action. This change moves the logic for determining when the action is enabled away from the individual side selection, as they really are two unrelated concepts. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 15 ++++++--------- 1 file changed, 6 insertions(+), 9 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index e495046c3b..44977aa212 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -2441,20 +2441,17 @@ proc popup_diff_menu {ctxm x y X Y} { set ::cursorX $x set ::cursorY $y if {$::ui_index eq $::current_diff_side} { - set s normal set l "Unstage Hunk From Commit" } else { - if {$current_diff_path eq {} - || ![info exists file_states($current_diff_path)] - || {_O} eq [lindex $file_states($current_diff_path) 0]} { - set s disabled - } else { - set s normal - } set l "Stage Hunk For Commit" } - if {$::is_3way_diff} { + 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 + } else { + set s normal } $ctxm entryconf $::ui_diff_applyhunk -state $s -label $l tk_popup $ctxm $X $Y From 12fb223326b561132d528bb010c6bdeaa828acd3 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 3 Sep 2007 18:54:14 -0400 Subject: [PATCH 25/91] git-gui: Ensure msgfmt failure stops GNU make If we have a failure executing msgfmt (such as the process just crashes no matter what arguments you supply it because its own installation is borked) we should stop the build process rather than letting it continue along its merry way as if the .msg files were created. Signed-off-by: Shawn O. Pearce --- Makefile | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 875edacac3..df6f6b7275 100644 --- a/Makefile +++ b/Makefile @@ -47,8 +47,8 @@ ifndef V QUIET_GEN = $(QUIET)echo ' ' GEN $@ && QUIET_BUILT_IN = $(QUIET)echo ' ' BUILTIN $@ && QUIET_INDEX = $(QUIET)echo ' ' INDEX $(dir $@) && - QUIET_MSGFMT0 = $(QUIET)printf ' MSGFMT %12s ' $@ && - QUIET_MSGFMT1 = 2>&1 | sed -e 's/fuzzy translations/fuzzy/' | sed -e 's/ messages//g' + QUIET_MSGFMT0 = $(QUIET)printf ' MSGFMT %12s ' $@ && v=` + QUIET_MSGFMT1 = 2>&1` && echo "$$v" | sed -e 's/fuzzy translations/fuzzy/' | sed -e 's/ messages//g' QUIET_2DEVNULL = 2>/dev/null INSTALL_D0 = dir= From 0b883ab30c869c4f22a19e49aedc1604d335cd91 Mon Sep 17 00:00:00 2001 From: Gerrit Pape Date: Fri, 7 Sep 2007 17:16:59 +0000 Subject: [PATCH 26/91] git-gui: lib/index.tcl: handle files with % in the filename properly Steps to reproduce the bug: $ mkdir repo && cd repo && git init Initialized empty Git repository in .git/ $ touch 'foo%3Fsuite' $ git-gui Then click on the 'foo%3Fsuite' icon to include it in a changeset, a popup comes with: 'Error: bad field specifier "F"' Vincent Danjean noticed the problem and also suggested the fix, reported through http://bugs.debian.org/441167 Signed-off-by: Gerrit Pape Signed-off-by: Shawn O. Pearce --- lib/index.tcl | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/lib/index.tcl b/lib/index.tcl index f47f9290c8..cbbce13a77 100644 --- a/lib/index.tcl +++ b/lib/index.tcl @@ -13,7 +13,8 @@ proc update_indexinfo {msg pathList after} { if {$batch > 25} {set batch 25} ui_status [format \ - "$msg... %i/%i files (%.2f%%)" \ + "%s... %i/%i files (%.2f%%)" \ + $msg \ $update_index_cp \ $totalCnt \ 0.0] @@ -68,7 +69,8 @@ proc write_update_indexinfo {fd pathList totalCnt batch msg after} { } ui_status [format \ - "$msg... %i/%i files (%.2f%%)" \ + "%s... %i/%i files (%.2f%%)" \ + $msg \ $update_index_cp \ $totalCnt \ [expr {100.0 * $update_index_cp / $totalCnt}]] @@ -86,7 +88,8 @@ proc update_index {msg pathList after} { if {$batch > 25} {set batch 25} ui_status [format \ - "$msg... %i/%i files (%.2f%%)" \ + "%s... %i/%i files (%.2f%%)" \ + $msg \ $update_index_cp \ $totalCnt \ 0.0] @@ -145,7 +148,8 @@ proc write_update_index {fd pathList totalCnt batch msg after} { } ui_status [format \ - "$msg... %i/%i files (%.2f%%)" \ + "%s... %i/%i files (%.2f%%)" \ + $msg \ $update_index_cp \ $totalCnt \ [expr {100.0 * $update_index_cp / $totalCnt}]] @@ -163,7 +167,8 @@ proc checkout_index {msg pathList after} { if {$batch > 25} {set batch 25} ui_status [format \ - "$msg... %i/%i files (%.2f%%)" \ + "%s... %i/%i files (%.2f%%)" \ + $msg $update_index_cp \ $totalCnt \ 0.0] @@ -218,7 +223,8 @@ proc write_checkout_index {fd pathList totalCnt batch msg after} { } ui_status [format \ - "$msg... %i/%i files (%.2f%%)" \ + "%s... %i/%i files (%.2f%%)" \ + $msg \ $update_index_cp \ $totalCnt \ [expr {100.0 * $update_index_cp / $totalCnt}]] From cff93397ab185898fd93b6a260cc6f3068c4ac30 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sat, 8 Sep 2007 23:47:00 -0400 Subject: [PATCH 27/91] git-gui: Disable Tk send in all git-gui sessions The Tk designers blessed us with the "send" command, which on X11 will allow anyone who can connect to your X server to evaluate any Tcl code they desire within any running Tk process. This is just plain nuts. If git-gui wants someone running Tcl code within it then would ask someone to supply that Tcl code to it; waiting for someone to drop any random Tcl code into us is not fantastic idea. By renaming send to the empty name the procedure will be removed from the global namespace and Tk will stop responding to random Tcl evaluation requests sent through the X server. Since there is no facility to filter these requests it is unlikely that we will ever consider enabling this command. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 2 ++ 1 file changed, 2 insertions(+) diff --git a/git-gui.sh b/git-gui.sh index 44977aa212..6d676097a6 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -42,6 +42,8 @@ if {[catch {package require Tcl 8.4} err] exit 1 } +rename send {} ; # What an evil concept... + ###################################################################### ## ## enable verbose loading? From c63fe3b2dc90120a4bdba7194f92efc2f3c342ed Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sat, 8 Sep 2007 23:05:43 -0400 Subject: [PATCH 28/91] git-gui: Avoid use of libdir in Makefile Dmitry V. Levin pointed out that on GNU linux libdir is often used in Makefiles to mean "/usr/lib" or "/usr/lib64", a directory that is meant to hold platform-specific binary files. Using a different libdir meaning here in git-gui's Makefile breaks idomatic expressions like rpm specifile "make libdir=%_libdir". Originally I asked that the git.git Makefile undefine libdir before it calls git-gui's own Makefile but it turns out this is very hard to do, if not impossible. Renaming our libdir to gg_libdir resolves this case with a minimum amount of fuss on our part. Signed-off-by: Shawn O. Pearce --- Makefile | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Makefile b/Makefile index 1bac6fed46..f11cf26760 100644 --- a/Makefile +++ b/Makefile @@ -76,8 +76,8 @@ SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) TCL_PATH_SQ = $(subst ','\'',$(TCL_PATH)) TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH)) -libdir ?= $(sharedir)/git-gui/lib -libdir_SQ = $(subst ','\'',$(libdir)) +gg_libdir ?= $(sharedir)/git-gui/lib +libdir_SQ = $(subst ','\'',$(gg_libdir)) exedir = $(dir $(gitexecdir))share/git-gui/lib exedir_SQ = $(subst ','\'',$(exedir)) @@ -126,7 +126,7 @@ TRACK_VARS = \ $(subst ','\'',TCL_PATH='$(TCL_PATH_SQ)') \ $(subst ','\'',TCLTK_PATH='$(TCLTK_PATH_SQ)') \ $(subst ','\'',gitexecdir='$(gitexecdir_SQ)') \ - $(subst ','\'',libdir='$(libdir_SQ)') \ + $(subst ','\'',gg_libdir='$(libdir_SQ)') \ #end TRACK_VARS GIT-GUI-VARS: .FORCE-GIT-GUI-VARS From 2d19f8e921a1cdc562783814747819b0d5a12641 Mon Sep 17 00:00:00 2001 From: Michele Ballabio Date: Sun, 9 Sep 2007 21:04:45 +0200 Subject: [PATCH 29/91] git-gui: show unstaged symlinks in diff viewer git-gui has a minor problem with regards to symlinks that point to directories. git init mkdir realdir ln -s realdir linkdir git gui Now clicking on file names in the "unstaged changes" window, there's a problem coming from the "linkdir" symlink: git-gui complains with error reading "file4": illegal operation on a directory ...even though git-gui can add that same symlink to the index just fine. This patch fix this by adding a check. [sp: Minor fix to use {link} instead of "link" in condition and to only open the path if it is not a symlink.] Signed-off-by: Michele Ballabio Signed-off-by: Shawn O. Pearce --- lib/diff.tcl | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/lib/diff.tcl b/lib/diff.tcl index e09e1257e1..9eeff2ed35 100644 --- a/lib/diff.tcl +++ b/lib/diff.tcl @@ -85,11 +85,16 @@ proc show_diff {path w {lno {}}} { if {$m eq {_O}} { set max_sz [expr {128 * 1024}] if {[catch { - set fd [open $path r] - fconfigure $fd -eofchar {} - set content [read $fd $max_sz] - close $fd - set sz [file size $path] + if {[file type $path] == {link}} { + set content [file readlink $path] + set sz [string length $content] + } else { + set fd [open $path r] + fconfigure $fd -eofchar {} + set content [read $fd $max_sz] + close $fd + set sz [file size $path] + } } err ]} { set diff_active 0 unlock_index From 4ed1a190d09c7d6a248038edb11addda77af7550 Mon Sep 17 00:00:00 2001 From: Michele Ballabio Date: Sun, 9 Sep 2007 21:09:07 +0200 Subject: [PATCH 30/91] git-gui: handle "deleted symlink" diff marker Signed-off-by: Michele Ballabio Signed-off-by: Shawn O. Pearce --- lib/diff.tcl | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/diff.tcl b/lib/diff.tcl index 9eeff2ed35..a1d5e523d2 100644 --- a/lib/diff.tcl +++ b/lib/diff.tcl @@ -203,6 +203,7 @@ proc read_diff {fd} { if {[string match {mode *} $line] || [string match {new file *} $line] || [string match {deleted file *} $line] + || [string match {deleted symlink} $line] || [string match {Binary files * and * differ} $line] || $line eq {\ No newline at end of file} || [regexp {^\* Unmerged path } $line]} { From 3b9dfde3d636aeb961318d41b3ab59f72414d010 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sun, 9 Sep 2007 20:13:10 -0400 Subject: [PATCH 31/91] git-gui: Assume untracked directories are Git submodules If `git ls-files --others` returned us the name of a directory then it is because Git has decided that this directory itself contains a valid Git repository and its files shouldn't be listed as untracked for this repository. In such a case we should label the object as a Git repository and not just as a directory. Signed-off-by: Shawn O. Pearce --- lib/diff.tcl | 21 ++++++++++++++++++--- 1 file changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/diff.tcl b/lib/diff.tcl index a1d5e523d2..694834ab7a 100644 --- a/lib/diff.tcl +++ b/lib/diff.tcl @@ -84,17 +84,30 @@ proc show_diff {path w {lno {}}} { # if {$m eq {_O}} { set max_sz [expr {128 * 1024}] + set type unknown if {[catch { - if {[file type $path] == {link}} { + set type [file type $path] + switch -- $type { + directory { + set type submodule + set content {} + set sz 0 + } + link { set content [file readlink $path] set sz [string length $content] - } else { + } + file { set fd [open $path r] fconfigure $fd -eofchar {} set content [read $fd $max_sz] close $fd set sz [file size $path] } + default { + error "'$type' not supported" + } + } } err ]} { set diff_active 0 unlock_index @@ -103,7 +116,9 @@ proc show_diff {path w {lno {}}} { return } $ui_diff conf -state normal - if {![catch {set type [exec file $path]}]} { + if {$type eq {submodule}} { + $ui_diff insert end "* Git Repository (subproject)\n" d_@ + } elseif {![catch {set type [exec file $path]}]} { set n [string length $path] if {[string equal -length $n $path $type]} { set type [string range $type $n end] From 8938410189315979255c1dfcc3c0b7a4bf9953e5 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sun, 9 Sep 2007 20:38:05 -0400 Subject: [PATCH 32/91] git-gui: Trim trailing slashes from untracked submodule names Oddly enough `git ls-files --others` supplies us the name of an untracked submodule by including the trailing slash but that same git version will not accept the name with a trailing slash through `git update-index --stdin`. Stripping off that final slash character before loading it into our file lists allows git-gui to stage changes to submodules just like any other file. This change should give git-gui users some basic submodule support, but it is strictly at the plumbing level as we do not actually know about calling the git-submodule porcelain that is a recent addition to git 1.5.3. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/git-gui.sh b/git-gui.sh index 6d676097a6..26eb5ac309 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1010,7 +1010,11 @@ proc read_ls_others {fd after} { set pck [split $buf_rlo "\0"] set buf_rlo [lindex $pck end] foreach p [lrange $pck 0 end-1] { - merge_state [encoding convertfrom $p] ?O + set p [encoding convertfrom $p] + if {[string index $p end] eq {/}} { + set p [string range $p 0 end-1] + } + merge_state $p ?O } rescan_done $fd buf_rlo $after } From 93716a62c07561467a5c6fb0e14c4897cf264e7e Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 10 Sep 2007 00:40:46 -0400 Subject: [PATCH 33/91] git-gui: Mark revision chooser tooltip for translation Someone on #git today pointed out that the revision chooser's tooltips are were being drawn with untranslated strings for the fixed labels we include, such as "updated", "commit" and "remote". These strings are now passed through mc to allow them to be localized. Signed-off-by: Shawn O. Pearce --- lib/choose_rev.tcl | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/lib/choose_rev.tcl b/lib/choose_rev.tcl index a58b752cdd..8c78b4dd7b 100644 --- a/lib/choose_rev.tcl +++ b/lib/choose_rev.tcl @@ -527,14 +527,14 @@ method _open_tooltip {} { set last [_reflog_last $this [lindex $spec 1]] if {$last ne {}} { $tooltip_t insert end "\n" - $tooltip_t insert end "updated" + $tooltip_t insert end [mc "Updated"] $tooltip_t insert end " $last" } $tooltip_t insert end "\n" if {$tag ne {}} { $tooltip_t insert end "\n" - $tooltip_t insert end "tag" section_header + $tooltip_t insert end [mc "Tag"] section_header $tooltip_t insert end " [lindex $tag 1]\n" $tooltip_t insert end [lindex $tag 2] $tooltip_t insert end " ([lindex $tag 3])\n" @@ -544,7 +544,7 @@ method _open_tooltip {} { if {$cmit ne {}} { $tooltip_t insert end "\n" - $tooltip_t insert end "commit" section_header + $tooltip_t insert end [mc "Commit"] section_header $tooltip_t insert end " [lindex $cmit 1]\n" $tooltip_t insert end [lindex $cmit 2] $tooltip_t insert end " ([lindex $cmit 3])\n" @@ -553,11 +553,11 @@ method _open_tooltip {} { if {[llength $spec] > 2} { $tooltip_t insert end "\n" - $tooltip_t insert end "remote" section_header + $tooltip_t insert end [mc "Remote"] section_header $tooltip_t insert end " [lindex $spec 2]\n" - $tooltip_t insert end "url" + $tooltip_t insert end [mc "URL"] $tooltip_t insert end " $remote_url([lindex $spec 2])\n" - $tooltip_t insert end "branch" + $tooltip_t insert end [mc "Branch"] $tooltip_t insert end " [lindex $spec 3]" } From 66c75a5c9f7434d857d836440dc1c3046c59b5f3 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 10 Sep 2007 01:54:16 -0400 Subject: [PATCH 34/91] git-gui: Localize commit/author dates when displaying them Currently the Git plumbing is not localized so it does not know how to output weekday and month names that conform to the user's locale preferences. This doesn't fit with the rest of git-gui's UI as some of our dates are formatted in Tcl and some are just read from the Git plumbing so dates aren't consistently presented. Since git-for-each-ref is presenting us formatted dates and it offers no way to change that setting even in git 1.5.3.1 we need to first do a parse of the text strings it produces, correct for timezones, then reformat the timestamp using Tcl's formatting routines. Not exactly what I wanted to do but it gets us consistently presented date strings in areas like the blame viewer and the revision picker mega-widget's tooltips. Signed-off-by: Shawn O. Pearce --- lib/blame.tcl | 20 ++++------------- lib/choose_rev.tcl | 6 +++--- lib/date.tcl | 53 ++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 60 insertions(+), 19 deletions(-) create mode 100644 lib/date.tcl diff --git a/lib/blame.tcl b/lib/blame.tcl index b5fdad5643..352aa19421 100644 --- a/lib/blame.tcl +++ b/lib/blame.tcl @@ -743,20 +743,14 @@ method _showcommit {cur_w lno} { set author_time {} catch {set author_name $header($cmit,author)} catch {set author_email $header($cmit,author-mail)} - catch {set author_time [clock format \ - $header($cmit,author-time) \ - -format {%Y-%m-%d %H:%M:%S} - ]} + catch {set author_time [format_date $header($cmit,author-time)]} set committer_name {} set committer_email {} set committer_time {} catch {set committer_name $header($cmit,committer)} catch {set committer_email $header($cmit,committer-mail)} - catch {set committer_time [clock format \ - $header($cmit,committer-time) \ - -format {%Y-%m-%d %H:%M:%S} - ]} + catch {set committer_time [format_date $header($cmit,committer-time)]} if {[catch {set msg $header($cmit,message)}]} { set msg {} @@ -892,10 +886,7 @@ method _open_tooltip {cur_w} { set author_time {} catch {set author_name $header($cmit,author)} catch {set summary $header($cmit,summary)} - catch {set author_time [clock format \ - $header($cmit,author-time) \ - -format {%Y-%m-%d %H:%M:%S} - ]} + catch {set author_time [format_date $header($cmit,author-time)]} $tooltip_t insert end "commit $cmit\n" $tooltip_t insert end "$author_name $author_time\n" @@ -914,10 +905,7 @@ method _open_tooltip {cur_w} { set author_time {} catch {set author_name $header($cmit,author)} catch {set summary $header($cmit,summary)} - catch {set author_time [clock format \ - $header($cmit,author-time) \ - -format {%Y-%m-%d %H:%M:%S} - ]} + catch {set author_time [foramt_date $header($cmit,author-time)]} $tooltip_t insert end "Originally By:\n" section_header $tooltip_t insert end "commit $cmit\n" diff --git a/lib/choose_rev.tcl b/lib/choose_rev.tcl index 8c78b4dd7b..a6a442ae1d 100644 --- a/lib/choose_rev.tcl +++ b/lib/choose_rev.tcl @@ -133,13 +133,13 @@ constructor _new {path unmerged_only title} { append fmt { %(objecttype)} append fmt { %(objectname)} append fmt { [concat %(taggername) %(authorname)]} - append fmt { [concat %(taggerdate) %(authordate)]} + append fmt { [reformat_date [concat %(taggerdate) %(authordate)]]} append fmt { %(subject)} append fmt {] [list} append fmt { %(*objecttype)} append fmt { %(*objectname)} append fmt { %(*authorname)} - append fmt { %(*authordate)} + append fmt { [reformat_date %(*authordate)]} append fmt { %(*subject)} append fmt {]} set all_refn [list] @@ -583,7 +583,7 @@ method _reflog_last {name} { } if {$last ne {}} { - set last [clock format $last -format {%a %b %e %H:%M:%S %Y}] + set last [format_date $last] } set reflog_last($name) $last return $last diff --git a/lib/date.tcl b/lib/date.tcl new file mode 100644 index 0000000000..abe82992b6 --- /dev/null +++ b/lib/date.tcl @@ -0,0 +1,53 @@ +# git-gui date processing support +# Copyright (C) 2007 Shawn Pearce + +set git_month(Jan) 1 +set git_month(Feb) 2 +set git_month(Mar) 3 +set git_month(Apr) 4 +set git_month(May) 5 +set git_month(Jun) 6 +set git_month(Jul) 7 +set git_month(Aug) 8 +set git_month(Sep) 9 +set git_month(Oct) 10 +set git_month(Nov) 11 +set git_month(Dec) 12 + +proc parse_git_date {s} { + if {$s eq {}} { + return {} + } + + if {![regexp \ + {^... (...) (\d{1,2}) (\d\d):(\d\d):(\d\d) (\d{4}) ([+-]?)(\d\d)(\d\d)$} $s s \ + month day hr mm ss yr ew tz_h tz_m]} { + error [mc "Invalid date from Git: %s" $s] + } + + set s [clock scan [format {%4.4i%2.2i%2.2iT%2s%2s%2s} \ + $yr $::git_month($month) $day \ + $hr $mm $ss] \ + -gmt 1] + + regsub ^0 $tz_h {} tz_h + regsub ^0 $tz_m {} tz_m + switch -- $ew { + - {set ew +} + + {set ew -} + {} {set ew -} + } + + return [expr "$s $ew ($tz_h * 3600 + $tz_m * 60)"] +} + +proc format_date {s} { + if {$s eq {}} { + return {} + } + return [clock format $s -format {%a %b %e %H:%M:%S %Y}] +} + +proc reformat_date {s} { + return [format_date [parse_git_date $s]] +} From 63c4024ff080430004967fa27b8af8fe243e2ea3 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 11 Sep 2007 13:37:45 -0400 Subject: [PATCH 35/91] git-gui: Don't delete send on Windows as it doesn't exist The Windows port of Tk does not have the send command so we cannot delete it from our global namespace, but the Mac OS X and X11 ports do have it. Switching this delete attempt into a catch makes send go away, or stay away. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-gui.sh b/git-gui.sh index 26eb5ac309..e221d5b511 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -42,7 +42,7 @@ if {[catch {package require Tcl 8.4} err] exit 1 } -rename send {} ; # What an evil concept... +catch {rename send {}} ; # What an evil concept... ###################################################################### ## From 146d73a365c3a1c2e61e646a929a5168ffb2810c Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 12 Sep 2007 16:47:06 -0400 Subject: [PATCH 36/91] git-gui: Support context-sensitive i18n Ocassionally, one would want to translate the same string used in different contexts in diffrent ways. This patch provides a wrapper for msgcat::mc that trims "@@" and anything coming after it, whether or not the string actually got translated. Proposed-by: Harri Ilari Tapio Liusvaara Signed-off-by: Shawn O. Pearce --- git-gui.sh | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/git-gui.sh b/git-gui.sh index afee777f1c..d00758e95a 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -86,7 +86,16 @@ if {![catch {set _verbose $env(GITGUI_VERBOSE)}]} { ## http://www.gnu.org/software/gettext/manual/html_node/Tcl.html package require msgcat -namespace import ::msgcat::mc + +proc mc {fmt args} { + set fmt [::msgcat::mc $fmt] + set cmk [string first @@ $fmt] + if {$cmk > 0} { + set fmt [string range $fmt 0 [expr {$cmk - 1}]] + } + return [eval [list format $fmt] $args] +} + ::msgcat::mcload $oguimsg unset oguimsg From a9813cb51d4f64e93e2a028a2b749d70e378a8a0 Mon Sep 17 00:00:00 2001 From: Harri Ilari Tapio Liusvaara Date: Wed, 12 Sep 2007 23:02:35 +0300 Subject: [PATCH 37/91] git-gui: Disambiguate "commit" Commit is used as both verb and noun. While these happen to be the same in some languages, they are not the same in all languages, so disambiguate them using context-sensitive i18n. Signed-off-by: Harri Ilari Tapio Liusvaara Signed-off-by: Shawn O. Pearce --- git-gui.sh | 8 ++++---- lib/choose_rev.tcl | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index d00758e95a..a4e2ad2fd7 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -10,7 +10,7 @@ set appvers {@@GITGUI_VERSION@@} set copyright { -Copyright 2006, 2007 Shawn Pearce, et. al. +Copyright © 2006, 2007 Shawn Pearce, et. al. This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -1704,7 +1704,7 @@ if {[is_enabled branch]} { .mbar add cascade -label [mc Branch] -menu .mbar.branch } if {[is_enabled multicommit] || [is_enabled singlecommit]} { - .mbar add cascade -label [mc Commit] -menu .mbar.commit + .mbar add cascade -label [mc Commit@@noun] -menu .mbar.commit } if {[is_enabled transport]} { .mbar add cascade -label [mc Merge] -menu .mbar.merge @@ -1891,7 +1891,7 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} { -command do_signoff \ -accelerator $M1T-S - .mbar.commit add command -label [mc Commit] \ + .mbar.commit add command -label [mc Commit@@verb] \ -command do_commit \ -accelerator $M1T-Return lappend disable_on_lock \ @@ -2207,7 +2207,7 @@ 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] \ +button .vpane.lower.commarea.buttons.commit -text [mc Commit@@verb] \ -command do_commit pack .vpane.lower.commarea.buttons.commit -side top -fill x lappend disable_on_lock \ diff --git a/lib/choose_rev.tcl b/lib/choose_rev.tcl index a6a442ae1d..5e833a5376 100644 --- a/lib/choose_rev.tcl +++ b/lib/choose_rev.tcl @@ -544,7 +544,7 @@ method _open_tooltip {} { if {$cmit ne {}} { $tooltip_t insert end "\n" - $tooltip_t insert end [mc "Commit"] section_header + $tooltip_t insert end [mc "Commit@@noun"] section_header $tooltip_t insert end " [lindex $cmit 1]\n" $tooltip_t insert end [lindex $cmit 2] $tooltip_t insert end " ([lindex $cmit 3])\n" From 262360f3aa11291816d63fb6d23851db1ae5ff27 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 12 Sep 2007 17:03:27 -0400 Subject: [PATCH 38/91] git-gui: Document the new i18n context support Translators working on po files will likely need to know what the @@noun and @@verb parts are in the original message text, and why these are different messages in the po files. Signed-off-by: Shawn O. Pearce --- po/README | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/po/README b/po/README index e7cf405247..9d8b7364fd 100644 --- a/po/README +++ b/po/README @@ -88,6 +88,15 @@ matching msgid lines. A few tips: you would typically want to have corresponding ones in the string on your msgstr line. + - Some messages contain an optional context indicator at the end, + for example "@@noun" or "@@verb". This indicator allows the + software to select the correct translation depending upon the use. + The indicator is not actually part of the message and will not + be shown to the end-user. + + If your language does not require a different translation you + will still need to translate both messages. + - Often the messages being translated are format strings given to "printf()"-like functions. Make sure "%s", "%d", and "%%" in your translated messages match the original. From e7034d66ecd9c16ae8bd8d331fc41efc48e925f1 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 13 Sep 2007 19:04:14 -0400 Subject: [PATCH 39/91] git-gui: Make backporting changes from i18n version easier This is a very trivial hack to define a global mc procedure that does not actually perform i18n translations on its input strings. By declaring an mc procedure here in our maint version of git-gui we can take patches that are intended for the latest development version of git-gui and easily backport them without needing to tweak the mc calls first. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/git-gui.sh b/git-gui.sh index e221d5b511..31a36cb49f 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -62,6 +62,18 @@ if {![catch {set _verbose $env(GITGUI_VERBOSE)}]} { } } +###################################################################### +## +## Fake internationalization to ease backporting of changes. + +proc mc {fmt args} { + set cmk [string first @@ $fmt] + if {$cmk > 0} { + set fmt [string range $fmt 0 [expr {$cmk - 1}]] + } + return [eval [list format $fmt] $args] +} + ###################################################################### ## ## read only globals From afe2098ddd3e21d1d1afc428d3c8d91f37b01692 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 13 Sep 2007 19:07:46 -0400 Subject: [PATCH 40/91] git-gui: Font chooser to handle a large number of font families Simon Sasburg noticed that on X11 if there are more fonts than can fit in the height of the screen Tk's native tk_optionMenu does not offer scroll arrows to the user and it is not possible to review all choices or to select those that are off-screen. On Mac OS X the tk_optionMenu works properly but is awkward to navigate if the list is long. This is a rewrite of our font selection by providing a new modal dialog that the user can launch from the git-gui Options panel. The dialog offers the user a scrolling list of fonts in a pane. An example text shows the user what the font looks like at the size they have selected. But I have to admit the example pane is less than ideal. For example in the case of our diff font we really should show the user an example diff complete with our native diff syntax coloring. Signed-off-by: Shawn O. Pearce Acked-by: Simon Sasburg --- lib/choose_font.tcl | 165 ++++++++++++++++++++++++++++++++++++++++++++ lib/option.tcl | 28 +++++--- 2 files changed, 182 insertions(+), 11 deletions(-) create mode 100644 lib/choose_font.tcl diff --git a/lib/choose_font.tcl b/lib/choose_font.tcl new file mode 100644 index 0000000000..b69215c91e --- /dev/null +++ b/lib/choose_font.tcl @@ -0,0 +1,165 @@ +# git-gui font chooser +# Copyright (C) 2007 Shawn Pearce + +class choose_font { + +field w +field w_family ; # UI widget of all known family names +field w_example ; # Example to showcase the chosen font + +field f_family ; # Currently chosen family name +field f_size ; # Currently chosen point size + +field v_family ; # Name of global variable for family +field v_size ; # Name of global variable for size + +variable all_families [list] ; # All fonts known to Tk + +constructor pick {path title a_family a_size} { + variable all_families + + set v_family $a_family + set v_size $a_size + + upvar #0 $v_family pv_family + upvar #0 $v_size pv_size + + set f_family $pv_family + set f_size $pv_size + + make_toplevel top w + wm title $top "[appname] ([reponame]): $title" + wm geometry $top "+[winfo rootx $path]+[winfo rooty $path]" + + label $w.header -text $title -font font_uibold + pack $w.header -side top -fill x + + frame $w.buttons + button $w.buttons.select \ + -text [mc Select] \ + -default active \ + -command [cb _select] + button $w.buttons.cancel \ + -text [mc Cancel] \ + -command [list destroy $w] + pack $w.buttons.select -side right + pack $w.buttons.cancel -side right -padx 5 + pack $w.buttons -side bottom -fill x -pady 10 -padx 10 + + frame $w.inner + + frame $w.inner.family + label $w.inner.family.l \ + -text [mc "Font Family"] \ + -anchor w + set w_family $w.inner.family.v + text $w_family \ + -background white \ + -borderwidth 1 \ + -relief sunken \ + -cursor $::cursor_ptr \ + -wrap none \ + -width 30 \ + -height 10 \ + -yscrollcommand [list $w.inner.family.sby set] + scrollbar $w.inner.family.sby -command [list $w_family yview] + pack $w.inner.family.l -side top -fill x + pack $w.inner.family.sby -side right -fill y + pack $w_family -fill both -expand 1 + + frame $w.inner.size + label $w.inner.size.l \ + -text [mc "Font Size"] \ + -anchor w + spinbox $w.inner.size.v \ + -textvariable @f_size \ + -from 2 -to 80 -increment 1 \ + -width 3 + bind $w.inner.size.v {%W selection range 0 end} + pack $w.inner.size.l -fill x -side top + pack $w.inner.size.v -fill x -padx 2 + + grid configure $w.inner.family $w.inner.size -sticky nsew + grid rowconfigure $w.inner 0 -weight 1 + grid columnconfigure $w.inner 0 -weight 1 + pack $w.inner -fill both -expand 1 -padx 5 -pady 5 + + frame $w.example + label $w.example.l \ + -text [mc "Font Example"] \ + -anchor w + set w_example $w.example.t + text $w_example \ + -background white \ + -borderwidth 1 \ + -relief sunken \ + -height 3 \ + -width 40 + $w_example tag conf example -justify center + $w_example insert end [mc "This is example text.\nIf you like this text, it can be your font."] example + $w_example conf -state disabled + pack $w.example.l -fill x + pack $w_example -fill x + pack $w.example -fill x -padx 5 + + if {$all_families eq {}} { + set all_families [lsort [font families]] + } + + $w_family tag conf pick + $w_family tag bind pick [cb _pick_family %x %y]\;break + $w_family tag conf cpck -background lightgray + foreach f $all_families { + set sel [list pick] + if {$f eq $f_family} { + lappend sel cpck + } + $w_family insert end "$f\n" $sel + } + $w_family conf -state disabled + _update $this + + trace add variable @f_size write [cb _update] + bind $w [list destroy $w] + bind $w [cb _select]\;break + bind $w " + grab $w + focus $w + " + tkwait window $w +} + +method _select {} { + upvar #0 $v_family pv_family + upvar #0 $v_size pv_size + + set pv_family $f_family + set pv_size $f_size + + destroy $w +} + +method _pick_family {x y} { + variable all_families + + set i [lindex [split [$w_family index @$x,$y] .] 0] + set n [lindex $all_families [expr {$i - 1}]] + if {$n ne {}} { + $w_family tag remove cpck 0.0 end + $w_family tag add cpck $i.0 [expr {$i + 1}].0 + set f_family $n + _update $this + } +} + +method _update {args} { + variable all_families + + set i [lsearch -exact $all_families $f_family] + if {$i < 0} return + + $w_example tag conf example -font [list $f_family $f_size] + $w_family see [expr {$i + 1}].0 +} + +} diff --git a/lib/option.tcl b/lib/option.tcl index aa9f783afd..063f5df6f7 100644 --- a/lib/option.tcl +++ b/lib/option.tcl @@ -255,17 +255,23 @@ proc do_options {} { frame $w.global.$name label $w.global.$name.l -text "$text:" - pack $w.global.$name.l -side left -anchor w -fill x - eval tk_optionMenu $w.global.$name.family \ - global_config_new(gui.$font^^family) \ - $all_fonts - spinbox $w.global.$name.size \ - -textvariable global_config_new(gui.$font^^size) \ - -from 2 -to 80 -increment 1 \ - -width 3 - bind $w.global.$name.size {%W selection range 0 end} - pack $w.global.$name.size -side right -anchor e - pack $w.global.$name.family -side right -anchor e + button $w.global.$name.b \ + -text [mc "Change Font"] \ + -command [list \ + choose_font::pick \ + $w \ + [mc "Choose %s" $text] \ + global_config_new(gui.$font^^family) \ + global_config_new(gui.$font^^size) \ + ] + label $w.global.$name.f -textvariable global_config_new(gui.$font^^family) + label $w.global.$name.s -textvariable global_config_new(gui.$font^^size) + label $w.global.$name.pt -text [mc "pt."] + pack $w.global.$name.l -side left -anchor w + pack $w.global.$name.b -side right -anchor e + pack $w.global.$name.pt -side right -anchor w + pack $w.global.$name.s -side right -anchor w + pack $w.global.$name.f -side right -anchor w pack $w.global.$name -side top -anchor w -fill x } From 042f53c569c92b40e63c6993c8998d2aac22e383 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 13 Sep 2007 19:50:35 -0400 Subject: [PATCH 41/91] git-gui: Provide 'uninstall' Makefile target to undo an installation Several users have requested a "make uninstall" target be provided in the stock git-gui Makefile so that they can undo an install if git-gui goes to the wrong place during the initial install, or if they are unhappy with the tool and want to remove it from their system. We currently assume that the complete set of files we need to delete are those defined by our Makefile and current source directory. This could differ from what the user actually has installed if they installed one version then attempt to use another to perform the uninstall. Right now I'm just going to say that is "pilot error". Users should uninstall git-gui using the same version of source that they used to make the installation. Perhaps in the future we could read tclIndex and base our uninstall decisions on its contents. Signed-off-by: Shawn O. Pearce --- Makefile | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f11cf26760..18e6750137 100644 --- a/Makefile +++ b/Makefile @@ -31,6 +31,9 @@ ifndef INSTALL INSTALL = install endif +RM_F ?= rm -f +RMDIR ?= rmdir + INSTALL_D0 = $(INSTALL) -d -m755 # space is required here INSTALL_D1 = INSTALL_R0 = $(INSTALL) -m644 # space is required here @@ -42,6 +45,12 @@ INSTALL_L1 = && ln # space is required here INSTALL_L2 = INSTALL_L3 = +REMOVE_D0 = $(RMDIR) # space is required here +REMOVE_D1 = || true +REMOVE_F0 = $(RM_F) # space is required here +REMOVE_F1 = +CLEAN_DST = true + ifndef V QUIET = @ QUIET_GEN = $(QUIET)echo ' ' GEN $@ && @@ -60,6 +69,12 @@ ifndef V INSTALL_L1 = && src= INSTALL_L2 = && dst= INSTALL_L3 = && echo ' ' 'LINK ' `basename "$$dst"` '->' `basename "$$src"` && rm -f "$$dst" && ln "$$src" "$$dst" + + CLEAN_DST = echo ' ' UNINSTALL + REMOVE_D0 = dir= + REMOVE_D1 = && echo ' ' REMOVE $$dir && test -d "$$dir" && $(RMDIR) "$$dir" || true + REMOVE_F0 = dst= + REMOVE_F1 = && echo ' ' REMOVE `basename "$$dst"` && $(RM_F) "$$dst" endif TCL_PATH ?= tclsh @@ -146,6 +161,17 @@ install: all $(QUIET)$(INSTALL_R0)lib/tclIndex $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' $(QUIET)$(foreach p,$(ALL_LIBFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' &&) true +uninstall: + $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(gitexecdir_SQ)' + $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/git-gui $(REMOVE_F1) + $(QUIET)$(foreach p,$(GITGUI_BUILT_INS), $(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/$p $(REMOVE_F1) &&) true + $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(libdir_SQ)' + $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/tclIndex $(REMOVE_F1) + $(QUIET)$(foreach p,$(ALL_LIBFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true + $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(REMOVE_D1) + $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(REMOVE_D1) + $(QUIET)$(REMOVE_D0)`dirname '$(DESTDIR_SQ)$(libdir_SQ)'` $(REMOVE_D1) + dist-version: @mkdir -p $(TARDIR) @echo $(GITGUI_VERSION) > $(TARDIR)/version @@ -154,6 +180,6 @@ clean:: rm -f $(ALL_PROGRAMS) lib/tclIndex rm -f GIT-VERSION-FILE GIT-GUI-VARS -.PHONY: all install dist-version clean +.PHONY: all install uninstall dist-version clean .PHONY: .FORCE-GIT-VERSION-FILE .PHONY: .FORCE-GIT-GUI-VARS From 55bad4f096b1f18eec94169c864c39bf0abda1db Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 13 Sep 2007 20:08:53 -0400 Subject: [PATCH 42/91] git-gui: Paper bag fix "Commit->Revert" format arguments The recent bug fix to correctly handle filenames with %s (or any other valid Tcl format specifier) missed a \ on this line and caused the remaining format arguments to not be supplied when we updated the status bar. This caused a Tcl error anytime the user was trying to perform a file revert. Signed-off-by: Shawn O. Pearce --- lib/index.tcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/index.tcl b/lib/index.tcl index cbbce13a77..44689ab63b 100644 --- a/lib/index.tcl +++ b/lib/index.tcl @@ -168,7 +168,7 @@ proc checkout_index {msg pathList after} { ui_status [format \ "%s... %i/%i files (%.2f%%)" \ - $msg + $msg \ $update_index_cp \ $totalCnt \ 0.0] From c8c4854bec30b03b8e3a56a9b5e52ff358210140 Mon Sep 17 00:00:00 2001 From: Michele Ballabio Date: Thu, 13 Sep 2007 15:19:05 +0200 Subject: [PATCH 43/91] git-gui: add some strings to translation Most of these changes were suggested by Shawn Pearce in an answer to Johannes Schindelin. Some strings for the blame module were added too. [sp: Minor edits in blame module formatting] Signed-off-by: Michele Ballabio Signed-off-by: Shawn O. Pearce --- git-gui.sh | 30 +++++++++++++++--------------- lib/blame.tcl | 24 ++++++++++++------------ lib/checkout_op.tcl | 6 +++--- lib/commit.tcl | 4 ++-- lib/database.tcl | 6 +++--- lib/diff.tcl | 8 ++++---- lib/index.tcl | 4 ++-- lib/remote_branch_delete.tcl | 4 ++-- 8 files changed, 43 insertions(+), 43 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index a4e2ad2fd7..2d7a2a82ca 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -37,7 +37,7 @@ if {[catch {package require Tcl 8.4} err] tk_messageBox \ -icon error \ -type ok \ - -title "git-gui: fatal error" \ + -title [mc "git-gui: fatal error"] \ -message $err exit 1 } @@ -526,7 +526,7 @@ if {[catch {set _git_version [git --version]} err]} { tk_messageBox \ -icon error \ -type ok \ - -title "git-gui: fatal error" \ + -title [mc "git-gui: fatal error"] \ -message "Cannot determine Git version: $err @@ -539,7 +539,7 @@ if {![regsub {^git version } $_git_version {} _git_version]} { tk_messageBox \ -icon error \ -type ok \ - -title "git-gui: fatal error" \ + -title [mc "git-gui: fatal error"] \ -message [append [mc "Cannot parse Git version string:"] "\n\n$_git_version"] exit 1 } @@ -621,7 +621,7 @@ if {[git-version < 1.5]} { tk_messageBox \ -icon error \ -type ok \ - -title "git-gui: fatal error" \ + -title [mc "git-gui: fatal error"] \ -message "[appname] requires Git 1.5.0 or later. You are using [git-version]: @@ -640,7 +640,7 @@ if {[catch {set fd [open $idx r]} err]} { tk_messageBox \ -icon error \ -type ok \ - -title "git-gui: fatal error" \ + -title [mc "git-gui: fatal error"] \ -message $err exit 1 } @@ -737,7 +737,7 @@ if {$_prefix ne {}} { regsub -all {[^/]+/} $_prefix ../ cdup if {[catch {cd $cdup} err]} { catch {wm withdraw .} - error_popup "Cannot move to top of working directory:\n\n$err" + error_popup [append [mc "Cannot move to top of working directory:"] "\n\n$err"] exit 1 } unset cdup @@ -2077,7 +2077,7 @@ blame { } blame { if {$head eq {} && ![file exists $path]} { - puts stderr "fatal: cannot stat path $path: No such file or directory" + puts stderr [mc "fatal: cannot stat path %s: No such file or directory" $path] exit 1 } blame::new $head $path @@ -2588,13 +2588,13 @@ focus -force $ui_comm if {[is_Cygwin]} { set ignored_env 0 set suggest_user {} - set msg "Possible environment issues exist. + set msg [mc "Possible environment issues exist. The following environment variables are probably going to be ignored by any Git subprocess run -by [appname]: +by %s: -" +" [appname]] foreach name [array names env] { switch -regexp -- $name { {^GIT_INDEX_FILE$} - @@ -2618,18 +2618,18 @@ by [appname]: } } if {$ignored_env > 0} { - append msg " + append msg [mc " This is due to a known issue with the -Tcl binary distributed by Cygwin." +Tcl binary distributed by Cygwin."] if {$suggest_user ne {}} { - append msg " + append msg [mc " -A good replacement for $suggest_user +A good replacement for %s is placing values for the user.name and user.email settings into your personal ~/.gitconfig file. -" +" $suggest_user] } warn_popup $msg } diff --git a/lib/blame.tcl b/lib/blame.tcl index 352aa19421..d14805e929 100644 --- a/lib/blame.tcl +++ b/lib/blame.tcl @@ -470,7 +470,7 @@ method _read_file {fd jump} { _exec_blame $this $w_asim @asim_data \ [list] \ - { copy/move tracking} + [mc "Loading copy/move tracking annotations..."] } } ifdeleted { catch {close $fd} } @@ -489,8 +489,8 @@ method _exec_blame {cur_w cur_d options cur_s} { set blame_lines 0 $status start \ - "Loading$cur_s annotations..." \ - {lines annotated} + $cur_s \ + [mc "lines annotated"] } method _read_blame {fd cur_w cur_d} { @@ -671,10 +671,10 @@ method _read_blame {fd cur_w cur_d} { if {$cur_w eq $w_asim} { _exec_blame $this $w_amov @amov_data \ $original_options \ - { original location} + [mc "Loading original location annotations..."] } else { set current_fd {} - $status stop {Annotation complete.} + $status stop [mc "Annotation complete."] } } else { $status update $blame_lines $total_lines @@ -728,7 +728,7 @@ method _showcommit {cur_w lno} { if {$dat eq {}} { set cmit {} - $w_cviewer insert end "Loading annotation..." still_loading + $w_cviewer insert end [mc "Loading annotation..."] still_loading } else { set cmit [lindex $dat 0] set file [lindex $dat 1] @@ -784,16 +784,16 @@ method _showcommit {cur_w lno} { } $w_cviewer insert end "commit $cmit\n" header_key - $w_cviewer insert end "Author:\t" header_key + $w_cviewer insert end [append [mc "Author:"] "\t"] header_key $w_cviewer insert end "$author_name $author_email" header_val $w_cviewer insert end " $author_time\n" header_val - $w_cviewer insert end "Committer:\t" header_key + $w_cviewer insert end [append [mc "Committer:"] "\t"] header_key $w_cviewer insert end "$committer_name $committer_email" header_val $w_cviewer insert end " $committer_time\n" header_val if {$file ne $path} { - $w_cviewer insert end "Original File:\t" header_key + $w_cviewer insert end [append [mc "Original File:"] "\t"] header_key $w_cviewer insert end "[escape_path $file]\n" header_val } @@ -907,18 +907,18 @@ method _open_tooltip {cur_w} { catch {set summary $header($cmit,summary)} catch {set author_time [foramt_date $header($cmit,author-time)]} - $tooltip_t insert end "Originally By:\n" section_header + $tooltip_t insert end [append [mc "Originally By:"] "\n"] section_header $tooltip_t insert end "commit $cmit\n" $tooltip_t insert end "$author_name $author_time\n" $tooltip_t insert end "$summary\n" if {$file ne $path} { - $tooltip_t insert end "In File: " section_header + $tooltip_t insert end [append [mc "In File:"] " "] section_header $tooltip_t insert end "$file\n" } $tooltip_t insert end "\n" - $tooltip_t insert end "Copied Or Moved Here By:\n" section_header + $tooltip_t insert end [append [mc "Copied Or Moved Here By:"] "\n"] section_header $tooltip_t insert end $save } diff --git a/lib/checkout_op.tcl b/lib/checkout_op.tcl index f07262ca00..a011044f90 100644 --- a/lib/checkout_op.tcl +++ b/lib/checkout_op.tcl @@ -124,7 +124,7 @@ method _finish_fetch {ok} { } if {[catch {set new_hash [git rev-parse --verify "$l_trck^0"]} err]} { set ok 0 - $w_cons insert "fatal: Cannot resolve $l_trck" + $w_cons insert [mc "fatal: Cannot resolve %s" $l_trck] $w_cons insert $err } } @@ -319,7 +319,7 @@ method _readtree {} { set readtree_d {} $::main_status start \ - "Updating working directory to '[_name $this]'..." \ + [mc "Updating working directory to '%s'..." [_name $this]] \ {files checked out} set fd [git_read --stderr read-tree \ @@ -443,7 +443,7 @@ If you wanted to be on a branch, create one now starting from 'This Detached Che $ui_comm delete 0.0 end $ui_comm edit reset $ui_comm edit modified false - rescan [list ui_status "Checked out '$name'."] + rescan [list ui_status [mc "Checked out '%s'." $name]] } else { repository_state commit_type HEAD MERGE_HEAD set PARENT $HEAD diff --git a/lib/commit.tcl b/lib/commit.tcl index 15489c616b..a037c4f7d0 100644 --- a/lib/commit.tcl +++ b/lib/commit.tcl @@ -272,7 +272,7 @@ proc commit_committree {fd_wt curHEAD msg} { && [string length $old_tree] == 45} { set old_tree [string range $old_tree 5 end] } else { - error "Commit $PARENT appears to be corrupt" + error [mc "Commit %s appears to be corrupt" $PARENT] } if {$tree_id eq $old_tree} { @@ -300,7 +300,7 @@ A rescan will be automatically started now. if {$use_enc ne {}} { fconfigure $msg_wt -encoding $use_enc } else { - puts stderr "warning: Tcl does not support encoding '$enc'." + puts stderr [mc "warning: Tcl does not support encoding '%s'." $enc] fconfigure $msg_wt -encoding utf-8 } puts -nonewline $msg_wt $msg diff --git a/lib/database.tcl b/lib/database.tcl index 118b1b29ab..d66aa3fe33 100644 --- a/lib/database.tcl +++ b/lib/database.tcl @@ -105,11 +105,11 @@ proc hint_gc {} { set objects_current [expr {$objects_current * 256}] set object_limit [expr {$object_limit * 256}] if {[ask_popup \ - "This repository currently has approximately $objects_current loose objects. + [mc "This repository currently has approximately %i loose objects. -To maintain optimal performance it is strongly recommended that you compress the database when more than $object_limit loose objects exist. +To maintain optimal performance it is strongly recommended that you compress the database when more than %i loose objects exist. -Compress the database now?"] eq yes} { +Compress the database now?" $objects_current $object_limit]] eq yes} { do_gc } } diff --git a/lib/diff.tcl b/lib/diff.tcl index d013409640..c2ae4555fe 100644 --- a/lib/diff.tcl +++ b/lib/diff.tcl @@ -78,7 +78,7 @@ proc show_diff {path w {lno {}}} { set current_diff_path $path set current_diff_side $w set current_diff_header {} - ui_status "Loading diff of [escape_path $path]..." + ui_status [mc "Loading diff of %s..." [escape_path $path]] # - Git won't give us the diff, there's nothing to compare to! # @@ -111,7 +111,7 @@ proc show_diff {path w {lno {}}} { } err ]} { set diff_active 0 unlock_index - ui_status "Unable to display [escape_path $path]" + ui_status [mc "Unable to display %s" [escape_path $path]] error_popup [append [mc "Error loading file:"] "\n\n$err"] return } @@ -131,7 +131,7 @@ proc show_diff {path w {lno {}}} { } if {[string first "\0" $content] != -1} { $ui_diff insert end \ - "* Binary file (not showing content)." \ + [mc "* Binary file (not showing content)."] \ d_@ } else { if {$sz > $max_sz} { @@ -181,7 +181,7 @@ proc show_diff {path w {lno {}}} { if {[catch {set fd [eval git_read --nice $cmd]} err]} { set diff_active 0 unlock_index - ui_status "Unable to display [escape_path $path]" + ui_status [mc "Unable to display %s" [escape_path $path]] error_popup [append [mc "Error loading diff:"] "\n\n$err"] return } diff --git a/lib/index.tcl b/lib/index.tcl index 228bccfd82..47255261d2 100644 --- a/lib/index.tcl +++ b/lib/index.tcl @@ -268,7 +268,7 @@ proc do_unstage_selection {} { [array names selected_paths] } elseif {$current_diff_path ne {}} { unstage_helper \ - "Unstaging [short_path $current_diff_path] from commit" \ + [mc "Unstaging %s from commit" [short_path $current_diff_path]] \ [list $current_diff_path] } } @@ -312,7 +312,7 @@ proc do_add_selection {} { [array names selected_paths] } elseif {$current_diff_path ne {}} { add_helper \ - "Adding [short_path $current_diff_path]" \ + [mc "Adding %s" [short_path $current_diff_path]] \ [list $current_diff_path] } } diff --git a/lib/remote_branch_delete.tcl b/lib/remote_branch_delete.tcl index 06b5eabf91..c7b8148698 100644 --- a/lib/remote_branch_delete.tcl +++ b/lib/remote_branch_delete.tcl @@ -181,9 +181,9 @@ method _delete {} { } if {$not_merged ne {}} { - set msg "The following branches are not completely merged into $check_head: + set msg [mc "The following branches are not completely merged into %s: - - [join $not_merged "\n - "]" + - %s" $check_head [join $not_merged "\n - "]] if {$need_fetch} { append msg "\n\n" [mc "One or more of the merge tests failed because you have not fetched the necessary commits. Try fetching from %s first." $uri] From bba060462c8732a5cb46ea00165198a9579517ae Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 13 Sep 2007 20:52:34 -0400 Subject: [PATCH 44/91] git-gui: Make the tree browser also use lightgray selection In 9adccb05 Matthijs Melchior changed our selection colors in the main index/working directory file lists to use a lightgray as the background color as this made the UI easier to read on all platforms. When we did that change we missed doing also doing in the file browser UI. Doing so just makes the entire thing UI consistent. Signed-off-by: Shawn O. Pearce --- lib/browser.tcl | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/lib/browser.tcl b/lib/browser.tcl index 987622933c..3ba5c3a1fa 100644 --- a/lib/browser.tcl +++ b/lib/browser.tcl @@ -47,9 +47,7 @@ constructor new {commit {path {}}} { -width 70 \ -xscrollcommand [list $w.list.sbx set] \ -yscrollcommand [list $w.list.sby set] - $w_list tag conf in_sel \ - -background [$w_list cget -foreground] \ - -foreground [$w_list cget -background] + $w_list tag conf in_sel -background lightgray scrollbar $w.list.sbx -orient h -command [list $w_list xview] scrollbar $w.list.sby -orient v -command [list $w_list yview] pack $w.list.sbx -side bottom -fill x From 31bb1d1b2d1e893836b0d2b091fed9e39ee84853 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 14 Sep 2007 01:50:09 -0400 Subject: [PATCH 45/91] git-gui: Paper bag fix missing translated strings The Tcl expression "[append [mc Foo] Bar]" does not return the string "FooBar" after translation; instead it is setting the variable Foo to the value Bar, or if Foo is already defined it is appending Bar onto the end of it. This is *not* what we wanted to have happen here. Tcl's join function is actually the correct function but its default joinStr argument is a single space. Unfortunately all of our call sites do not want an extra space added to their string. So we need a small wrapper function to make the call to join with an empty join string. In C this is (roughly) the job of the strcat function. Since strcat is not yet used at the global level it is a reasonable name to use here. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 18 +++++++++++------- lib/blame.tcl | 12 ++++++------ lib/branch_rename.tcl | 2 +- lib/checkout_op.tcl | 6 +++--- lib/choose_rev.tcl | 2 +- lib/commit.tcl | 12 ++++++------ lib/diff.tcl | 4 ++-- lib/option.tcl | 2 +- lib/shortcut.tcl | 6 +++--- 9 files changed, 34 insertions(+), 30 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 2d7a2a82ca..4682487ade 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -96,6 +96,10 @@ proc mc {fmt args} { return [eval [list format $fmt] $args] } +proc strcat {args} { + return [join $args {}] +} + ::msgcat::mcload $oguimsg unset oguimsg @@ -540,7 +544,7 @@ if {![regsub {^git version } $_git_version {} _git_version]} { -icon error \ -type ok \ -title [mc "git-gui: fatal error"] \ - -message [append [mc "Cannot parse Git version string:"] "\n\n$_git_version"] + -message [strcat [mc "Cannot parse Git version string:"] "\n\n$_git_version"] exit 1 } @@ -722,7 +726,7 @@ if {[catch { set _prefix [git rev-parse --show-prefix] } err]} { catch {wm withdraw .} - error_popup [append [mc "Cannot find the git directory:"] "\n\n$err"] + error_popup [strcat [mc "Cannot find the git directory:"] "\n\n$err"] exit 1 } if {![file isdirectory $_gitdir] && [is_Cygwin]} { @@ -730,26 +734,26 @@ if {![file isdirectory $_gitdir] && [is_Cygwin]} { } if {![file isdirectory $_gitdir]} { catch {wm withdraw .} - error_popup [append [mc "Git directory not found:"] "\n\n$_gitdir"] + error_popup [strcat [mc "Git directory not found:"] "\n\n$_gitdir"] exit 1 } if {$_prefix ne {}} { regsub -all {[^/]+/} $_prefix ../ cdup if {[catch {cd $cdup} err]} { catch {wm withdraw .} - error_popup [append [mc "Cannot move to top of working directory:"] "\n\n$err"] + error_popup [strcat [mc "Cannot move to top of working directory:"] "\n\n$err"] exit 1 } unset cdup } elseif {![is_enabled bare]} { if {[lindex [file split $_gitdir] end] ne {.git}} { catch {wm withdraw .} - error_popup [append [mc "Cannot use funny .git directory:"] "\n\n$_gitdir"] + error_popup [strcat [mc "Cannot use funny .git directory:"] "\n\n$_gitdir"] exit 1 } if {[catch {cd [file dirname $_gitdir]} err]} { catch {wm withdraw .} - error_popup [append [mc "No working directory"] " [file dirname $_gitdir]:\n\n$err"] + error_popup [strcat [mc "No working directory"] " [file dirname $_gitdir]:\n\n$err"] exit 1 } } @@ -1658,7 +1662,7 @@ proc apply_config {} { font configure $font $cn $cv } } err]} { - error_popup [append [mc "Invalid font specified in %s:" "gui.$name"] "\n\n$err"] + error_popup [strcat [mc "Invalid font specified in %s:" "gui.$name"] "\n\n$err"] } foreach {cn cv} [font configure $font] { font configure ${font}bold $cn $cv diff --git a/lib/blame.tcl b/lib/blame.tcl index d14805e929..a911c3c77d 100644 --- a/lib/blame.tcl +++ b/lib/blame.tcl @@ -784,16 +784,16 @@ method _showcommit {cur_w lno} { } $w_cviewer insert end "commit $cmit\n" header_key - $w_cviewer insert end [append [mc "Author:"] "\t"] header_key + $w_cviewer insert end [strcat [mc "Author:"] "\t"] header_key $w_cviewer insert end "$author_name $author_email" header_val $w_cviewer insert end " $author_time\n" header_val - $w_cviewer insert end [append [mc "Committer:"] "\t"] header_key + $w_cviewer insert end [strcat [mc "Committer:"] "\t"] header_key $w_cviewer insert end "$committer_name $committer_email" header_val $w_cviewer insert end " $committer_time\n" header_val if {$file ne $path} { - $w_cviewer insert end [append [mc "Original File:"] "\t"] header_key + $w_cviewer insert end [strcat [mc "Original File:"] "\t"] header_key $w_cviewer insert end "[escape_path $file]\n" header_val } @@ -907,18 +907,18 @@ method _open_tooltip {cur_w} { catch {set summary $header($cmit,summary)} catch {set author_time [foramt_date $header($cmit,author-time)]} - $tooltip_t insert end [append [mc "Originally By:"] "\n"] section_header + $tooltip_t insert end [strcat [mc "Originally By:"] "\n"] section_header $tooltip_t insert end "commit $cmit\n" $tooltip_t insert end "$author_name $author_time\n" $tooltip_t insert end "$summary\n" if {$file ne $path} { - $tooltip_t insert end [append [mc "In File:"] " "] section_header + $tooltip_t insert end [strcat [mc "In File:"] " "] section_header $tooltip_t insert end "$file\n" } $tooltip_t insert end "\n" - $tooltip_t insert end [append [mc "Copied Or Moved Here By:"] "\n"] section_header + $tooltip_t insert end [strcat [mc "Copied Or Moved Here By:"] "\n"] section_header $tooltip_t insert end $save } diff --git a/lib/branch_rename.tcl b/lib/branch_rename.tcl index d6f040e7a2..166538808f 100644 --- a/lib/branch_rename.tcl +++ b/lib/branch_rename.tcl @@ -114,7 +114,7 @@ method _rename {} { -type ok \ -title [wm title $w] \ -parent $w \ - -message [append [mc "Failed to rename '%s'." $oldname] "\n\n$err"] + -message [strcat [mc "Failed to rename '%s'." $oldname] "\n\n$err"] return } diff --git a/lib/checkout_op.tcl b/lib/checkout_op.tcl index a011044f90..f243966924 100644 --- a/lib/checkout_op.tcl +++ b/lib/checkout_op.tcl @@ -236,7 +236,7 @@ method _update_ref {} { if {[catch { git update-ref -m $reflog_msg $ref $new $cur } err]} { - _error $this [append [mc "Failed to update '%s'." $newbranch] "\n\n$err"] + _error $this [strcat [mc "Failed to update '%s'." $newbranch] "\n\n$err"] return 0 } } @@ -351,7 +351,7 @@ method _readtree_wait {fd} { set err $readtree_d regsub {^fatal: } $err {} err $::main_status stop [mc "Aborted checkout of '%s' (file level merging is required)." [_name $this]] - warn_popup [append [mc "File level merge required."] " + warn_popup [strcat [mc "File level merge required."] " $err @@ -575,7 +575,7 @@ method _toplevel {title} { } method _fatal {err} { - error_popup [append [mc "Failed to set current branch. + error_popup [strcat [mc "Failed to set current branch. This working directory is only partially switched. We successfully updated your files, but failed to update an internal Git file. diff --git a/lib/choose_rev.tcl b/lib/choose_rev.tcl index 5e833a5376..a063c5bc49 100644 --- a/lib/choose_rev.tcl +++ b/lib/choose_rev.tcl @@ -314,7 +314,7 @@ method commit_or_die {} { } set top [winfo toplevel $w] - set msg [append [mc "Invalid revision: %s" [get $this]] "\n\n$err"] + set msg [strcat [mc "Invalid revision: %s" [get $this]] "\n\n$err"] tk_messageBox \ -icon error \ -type ok \ diff --git a/lib/commit.tcl b/lib/commit.tcl index a037c4f7d0..7099f5c6f7 100644 --- a/lib/commit.tcl +++ b/lib/commit.tcl @@ -46,7 +46,7 @@ You are currently in the middle of a merge that has not been fully completed. Y } set msg [string trim $msg] } err]} { - error_popup [append [mc "Error loading commit data for amend:"] "\n\n$err"] + error_popup [strcat [mc "Error loading commit data for amend:"] "\n\n$err"] return } @@ -73,12 +73,12 @@ proc committer_ident {} { if {$GIT_COMMITTER_IDENT eq {}} { if {[catch {set me [git var GIT_COMMITTER_IDENT]} err]} { - error_popup [append [mc "Unable to obtain your identity:"] "\n\n$err"] + error_popup [strcat [mc "Unable to obtain your identity:"] "\n\n$err"] return {} } if {![regexp {^(.*) [0-9]+ [-+0-9]+$} \ $me me GIT_COMMITTER_IDENT]} { - error_popup [append [mc "Invalid GIT_COMMITTER_IDENT:"] "\n\n$me"] + error_popup [strcat [mc "Invalid GIT_COMMITTER_IDENT:"] "\n\n$me"] return {} } } @@ -254,7 +254,7 @@ proc commit_committree {fd_wt curHEAD msg} { gets $fd_wt tree_id if {$tree_id eq {} || [catch {close $fd_wt} err]} { - error_popup [append [mc "write-tree failed:"] "\n\n$err"] + error_popup [strcat [mc "write-tree failed:"] "\n\n$err"] ui_status {Commit failed.} unlock_index return @@ -314,7 +314,7 @@ A rescan will be automatically started now. } lappend cmd <$msg_p if {[catch {set cmt_id [eval git $cmd]} err]} { - error_popup [append [mc "commit-tree failed:"] "\n\n$err"] + error_popup [strcat [mc "commit-tree failed:"] "\n\n$err"] ui_status {Commit failed.} unlock_index return @@ -336,7 +336,7 @@ A rescan will be automatically started now. if {[catch { git update-ref -m $reflogm HEAD $cmt_id $curHEAD } err]} { - error_popup [append [mc "update-ref failed:"] "\n\n$err"] + error_popup [strcat [mc "update-ref failed:"] "\n\n$err"] ui_status {Commit failed.} unlock_index return diff --git a/lib/diff.tcl b/lib/diff.tcl index c2ae4555fe..43565e412f 100644 --- a/lib/diff.tcl +++ b/lib/diff.tcl @@ -112,7 +112,7 @@ proc show_diff {path w {lno {}}} { set diff_active 0 unlock_index ui_status [mc "Unable to display %s" [escape_path $path]] - error_popup [append [mc "Error loading file:"] "\n\n$err"] + error_popup [strcat [mc "Error loading file:"] "\n\n$err"] return } $ui_diff conf -state normal @@ -182,7 +182,7 @@ proc show_diff {path w {lno {}}} { set diff_active 0 unlock_index ui_status [mc "Unable to display %s" [escape_path $path]] - error_popup [append [mc "Error loading diff:"] "\n\n$err"] + error_popup [strcat [mc "Error loading diff:"] "\n\n$err"] return } diff --git a/lib/option.tcl b/lib/option.tcl index 03bc08f128..12e297971a 100644 --- a/lib/option.tcl +++ b/lib/option.tcl @@ -308,7 +308,7 @@ proc do_restore_defaults {} { proc do_save_config {w} { if {[catch {save_config} err]} { - error_popup [append [mc "Failed to completely save options:"] "\n\n$err"] + error_popup [strcat [mc "Failed to completely save options:"] "\n\n$err"] } reshow_diff destroy $w diff --git a/lib/shortcut.tcl b/lib/shortcut.tcl index d0e63a3d0e..a7674a7aee 100644 --- a/lib/shortcut.tcl +++ b/lib/shortcut.tcl @@ -23,7 +23,7 @@ proc do_windows_shortcut {} { puts $fd " \"[file normalize $argv0]\"" close $fd } err]} { - error_popup [append [mc "Cannot write script:"] "\n\n$err"] + error_popup [strcat [mc "Cannot write script:"] "\n\n$err"] } } } @@ -71,7 +71,7 @@ proc do_cygwin_shortcut {} { puts $fd " &\"" close $fd } err]} { - error_popup [append [mc "Cannot write script:"] "\n\n$err"] + error_popup [strcat [mc "Cannot write script:"] "\n\n$err"] } } } @@ -146,7 +146,7 @@ proc do_macosx_app {} { file attributes $exe -permissions u+x,g+x,o+x } err]} { - error_popup [append [mc "Cannot write icon:"] "\n\n$err"] + error_popup [strcat [mc "Cannot write icon:"] "\n\n$err"] } } } From 3849bfba84fb5b0e9d46920f62105b4e1dd97e63 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sun, 16 Sep 2007 23:12:19 -0400 Subject: [PATCH 46/91] git-gui: Disable native platform text selection in "lists" Sometimes we use a Tk text widget as though it were a listbox. This happens typically when we want to show an icon to the left of the text label or just when a text widget is generally a better choice then the native listbox widget. In these cases if we want the user to have control over the selection we implement our own "in_sel" tag that shows the selected region and we perform our own selection management in the background via keybindings and mouse bindings. In such uses we don't want the user to be able to activate the native platform selection by dragging their mouse through the text widget. Doing so creates a very confusing display and the user is left wondering what it may mean to have two different types of selection in the same widget. Tk doesn't allow us to delete the "sel" tag that it uses internally to manage the native selection but it will allow us to make it invisible by setting the tag to have the same display properties as unselected text. So long as we don't actually use the "sel" tag for anything in code its effectively invisible. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 14 ++++++++++++-- lib/browser.tcl | 4 +--- lib/choose_font.tcl | 9 +++++---- 3 files changed, 18 insertions(+), 9 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 31a36cb49f..f789e91b66 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -481,6 +481,16 @@ proc tk_optionMenu {w varName args} { return $m } +proc rmsel_tag {text} { + $text tag conf sel \ + -background [$text cget -background] \ + -foreground [$text cget -foreground] \ + -borderwidth 0 + $text tag conf in_sel -background lightgray + bind $text break + return $text +} + ###################################################################### ## ## find git @@ -2151,8 +2161,8 @@ pack $ui_workdir -side left -fill both -expand 1 .vpane.files add .vpane.files.workdir -sticky nsew foreach i [list $ui_index $ui_workdir] { - $i tag conf in_diff -background lightgray - $i tag conf in_sel -background lightgray + rmsel_tag $i + $i tag conf in_diff -background [$i tag cget in_sel -background] } unset i diff --git a/lib/browser.tcl b/lib/browser.tcl index 888db3c889..31349009ae 100644 --- a/lib/browser.tcl +++ b/lib/browser.tcl @@ -47,9 +47,7 @@ constructor new {commit {path {}}} { -width 70 \ -xscrollcommand [list $w.list.sbx set] \ -yscrollcommand [list $w.list.sby set] - $w_list tag conf in_sel \ - -background [$w_list cget -foreground] \ - -foreground [$w_list cget -background] + rmsel_tag $w_list scrollbar $w.list.sbx -orient h -command [list $w_list xview] scrollbar $w.list.sby -orient v -command [list $w_list yview] pack $w.list.sbx -side bottom -fill x diff --git a/lib/choose_font.tcl b/lib/choose_font.tcl index b69215c91e..0c4051b375 100644 --- a/lib/choose_font.tcl +++ b/lib/choose_font.tcl @@ -62,6 +62,7 @@ constructor pick {path title a_family a_size} { -width 30 \ -height 10 \ -yscrollcommand [list $w.inner.family.sby set] + rmsel_tag $w_family scrollbar $w.inner.family.sby -command [list $w_family yview] pack $w.inner.family.l -side top -fill x pack $w.inner.family.sby -side right -fill y @@ -95,6 +96,7 @@ constructor pick {path title a_family a_size} { -relief sunken \ -height 3 \ -width 40 + rmsel_tag $w_example $w_example tag conf example -justify center $w_example insert end [mc "This is example text.\nIf you like this text, it can be your font."] example $w_example conf -state disabled @@ -108,11 +110,10 @@ constructor pick {path title a_family a_size} { $w_family tag conf pick $w_family tag bind pick [cb _pick_family %x %y]\;break - $w_family tag conf cpck -background lightgray foreach f $all_families { set sel [list pick] if {$f eq $f_family} { - lappend sel cpck + lappend sel in_sel } $w_family insert end "$f\n" $sel } @@ -145,8 +146,8 @@ method _pick_family {x y} { set i [lindex [split [$w_family index @$x,$y] .] 0] set n [lindex $all_families [expr {$i - 1}]] if {$n ne {}} { - $w_family tag remove cpck 0.0 end - $w_family tag add cpck $i.0 [expr {$i + 1}].0 + $w_family tag remove in_sel 0.0 end + $w_family tag add in_sel $i.0 [expr {$i + 1}].0 set f_family $n _update $this } From ae0754ac9a24afa2693246222fc078fe9c133b3a Mon Sep 17 00:00:00 2001 From: Simon Sasburg Date: Wed, 19 Sep 2007 00:33:34 +0200 Subject: [PATCH 47/91] git-gui: Avoid using bold text in entire gui for some fonts Signed-off-by: Shawn O. Pearce --- git-gui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-gui.sh b/git-gui.sh index f789e91b66..28d7c21692 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1648,7 +1648,7 @@ proc apply_config {} { set font [lindex $option 1] if {[catch { foreach {cn cv} $repo_config(gui.$name) { - font configure $font $cn $cv + font configure $font $cn $cv -weight normal } } err]} { error_popup "Invalid font specified in gui.$name:\n\n$err" From d4278b51e362e7a0f0e7922db47552f8c6726986 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 20 Sep 2007 13:03:43 -0400 Subject: [PATCH 48/91] git-gui: Fix missing i18n markup in push/fetch windows The console window titles should also be marked up with i18n strings so these can be properly localized. Signed-off-by: Shawn O. Pearce --- lib/transport.tcl | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lib/transport.tcl b/lib/transport.tcl index 1c7baef173..3b05b8fc2c 100644 --- a/lib/transport.tcl +++ b/lib/transport.tcl @@ -3,7 +3,7 @@ proc fetch_from {remote} { set w [console::new \ - "fetch $remote" \ + [mc "fetch %s" $remote] \ [mc "Fetching new changes from %s" $remote]] set cmds [list] lappend cmds [list exec git fetch $remote] @@ -15,14 +15,14 @@ proc fetch_from {remote} { proc prune_from {remote} { set w [console::new \ - "remote prune $remote" \ + [mc "remote prune %s" $remote] \ [mc "Pruning tracking branches deleted from %s" $remote]] console::exec $w [list git remote prune $remote] } proc push_to {remote} { set w [console::new \ - "push $remote" \ + [mc "push %s" $remote] \ [mc "Pushing changes to %s" $remote]] set cmd [list git push] lappend cmd -v @@ -64,7 +64,7 @@ proc start_push_anywhere_action {w} { } set cons [console::new \ - "push $r_url" \ + [mc "push %s" $r_url] \ [mc "Pushing %s %s to %s" $cnt $unit $r_url]] console::exec $cons $cmd destroy $w From 2f7c9a7f310dae23989b4acd49514abc58334e5b Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 20 Sep 2007 21:25:34 -0400 Subject: [PATCH 49/91] git-gui: Support native Win32 Tcl/Tk under Cygwin Cygwin has been stuck on the 8.4.1 version of Tcl/Tk for quite some time, even though the main Tcl/Tk distribution is already shipping an 8.4.15. The problem is Tcl/Tk no longer supports Cygwin so apparently building the package for Cygwin is now a non-trivial task. Its actually quite easy to build the native Win32 version of Tcl/Tk by compiling with the -mno-cygwin flag passed to GCC but this means we lose all of the "fancy" Cygwin path translations that the Tcl library was doing for us. This is particularly an issue when we are trying to start git-gui through the git wrapper as the git wrapper is passing off a Cygwin path for $0 and Tcl cannot find the startup script or the library directory. We now use `cygpath -m -a` to convert the UNIX style paths to Windows style paths in our startup script if we are building on Cygwin. Doing so allows either the Cygwin-ized Tcl/Tk 8.4.1 that comes with Cygwin or a manually built 8.4.15 that is running the pure Win32 implementation to read our script. Signed-off-by: Shawn O. Pearce --- Makefile | 32 ++++++++++++++++++++------------ git-gui.sh | 5 +++-- 2 files changed, 23 insertions(+), 14 deletions(-) diff --git a/Makefile b/Makefile index 8c87d836d8..6236dd6ad3 100644 --- a/Makefile +++ b/Makefile @@ -92,27 +92,35 @@ gitexecdir_SQ = $(subst ','\'',$(gitexecdir)) SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) TCL_PATH_SQ = $(subst ','\'',$(TCL_PATH)) TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH)) +TCLTK_PATH_SED = $(subst ','\'',$(subst \,\\,$(TCLTK_PATH))) gg_libdir ?= $(sharedir)/git-gui/lib libdir_SQ = $(subst ','\'',$(gg_libdir)) +libdir_SED = $(subst ','\'',$(subst \,\\,$(gg_libdir))) +exedir = $(dir $(gitexecdir))share/git-gui/lib -exedir = $(dir $(gitexecdir))share/git-gui/lib -exedir_SQ = $(subst ','\'',$(exedir)) +GITGUI_SCRIPT := $$0 +GITGUI_RELATIVE := + +ifeq ($(exedir),$(gg_libdir)) + GITGUI_RELATIVE := 1 +endif + +ifeq ($(uname_O),Cygwin) + GITGUI_SCRIPT := `cygpath --windows --absolute "$(GITGUI_SCRIPT)"` + ifeq ($(GITGUI_RELATIVE),) + gg_libdir := $(shell cygpath --windows --absolute "$(gg_libdir)") + endif +endif $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh $(QUIET_GEN)rm -f $@ $@+ && \ - GITGUI_RELATIVE= && \ - if test '$(exedir_SQ)' = '$(libdir_SQ)'; then \ - if test "$(uname_O)" = Cygwin; \ - then GITGUI_RELATIVE= ; \ - else GITGUI_RELATIVE=1; \ - fi; \ - fi && \ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ - -e 's|^ exec wish "$$0"| exec $(subst |,'\|',$(TCLTK_PATH_SQ)) "$$0"|' \ + -e '1,30s|^ argv0=$$0| argv0=$(GITGUI_SCRIPT)|' \ + -e '1,30s|^ exec wish | exec '\''$(TCLTK_PATH_SED)'\'' |' \ -e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \ - -e 's|@@GITGUI_RELATIVE@@|'$$GITGUI_RELATIVE'|' \ - -e $$GITGUI_RELATIVE's|@@GITGUI_LIBDIR@@|$(libdir_SQ)|' \ + -e 's|@@GITGUI_RELATIVE@@|$(GITGUI_RELATIVE)|' \ + -e '$(GITGUI_RELATIVE)s|@@GITGUI_LIBDIR@@|$(libdir_SED)|' \ $@.sh >$@+ && \ chmod +x $@+ && \ mv $@+ $@ diff --git a/git-gui.sh b/git-gui.sh index db1507cdec..5a465e1c7d 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -6,7 +6,8 @@ echo 'git-gui version @@GITGUI_VERSION@@'; \ exit; \ fi; \ - exec wish "$0" -- "$@" + argv0=$0; \ + exec wish "$argv0" -- "$@" set appvers {@@GITGUI_VERSION@@} set copyright { @@ -740,7 +741,7 @@ if {[catch { exit 1 } if {![file isdirectory $_gitdir] && [is_Cygwin]} { - catch {set _gitdir [exec cygpath --unix $_gitdir]} + catch {set _gitdir [exec cygpath --windows $_gitdir]} } if {![file isdirectory $_gitdir]} { catch {wm withdraw .} From 183a1d1496921e16d316ac523146385af39fcdb0 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 21 Sep 2007 10:58:02 -0400 Subject: [PATCH 50/91] git-gui: Display message box when we cannot find git in $PATH If we cannot find the git executable in the user's $PATH then we cannot function correctly. Because we need that to get the version so we can load our library correctly we cannot rely on the library function "error_popup" here, as this is all running before the library path has been configured, so error_popup is not available to us. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/git-gui.sh b/git-gui.sh index 28d7c21692..10710e26c6 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -498,7 +498,11 @@ proc rmsel_tag {text} { set _git [_which git] if {$_git eq {}} { catch {wm withdraw .} - error_popup "Cannot find git in PATH." + tk_messageBox \ + -icon error \ + -type ok \ + -title [mc "git-gui: fatal error"] \ + -message [mc "Cannot find git in PATH."] exit 1 } From 299077fb40eac1e128b7bc09d5d992960e6f11c2 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 21 Sep 2007 11:08:50 -0400 Subject: [PATCH 51/91] git-gui: Handle starting on mapped shares under Cygwin I really cannot explain Cygwin's behavior here but if we start git-gui through Cygwin on a local drive it appears that Cygwin is leaving $env(PATH) in Unix style, even if it started a native (non-Cygwin) Tcl/Tk process to run git-gui. Yet starting that same git-gui and Tcl/Tk combination through Cygwin on a network share causes it to automatically convert $env(PATH) into Windows style, which broke our internal "which" implementation. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-gui.sh b/git-gui.sh index 10710e26c6..62e1652276 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -305,7 +305,7 @@ proc _which {what} { global env _search_exe _search_path if {$_search_path eq {}} { - if {[is_Cygwin]} { + if {[is_Cygwin] && [regexp {^(/|\.:)} $env(PATH)]} { set _search_path [split [exec cygpath \ --windows \ --path \ From 2fe167b67a479b19e52b974f9518436565e6793b Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 21 Sep 2007 11:44:23 -0400 Subject: [PATCH 52/91] git-gui: Ensure .git/info/exclude is honored in Cygwin workdirs If we are using Cygwin and the git repository is actually a workdir (by way of git-new-workdir) but this Tcl process is a native Tcl/Tk and not the Cygwin Tcl/Tk then we are unable to traverse the .git/info path as it is a Cygwin symlink and not a standard Windows directory. So we actually need to start a Cygwin process that can do the path translation for us and let it test for .git/info/exclude so we know if we can include that file in our git-ls-files or not. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 34 +++++++++++++++++++++++++++++++--- 1 file changed, 31 insertions(+), 3 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 62e1652276..c8375029dd 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -907,6 +907,35 @@ proc rescan {after {honor_trustmtime 1}} { } } +if {[is_Cygwin]} { + set is_git_info_link {} + set is_git_info_exclude {} + proc have_info_exclude {} { + global is_git_info_link is_git_info_exclude + + if {$is_git_info_link eq {}} { + set is_git_info_link [file isfile [gitdir info.lnk]] + } + + if {$is_git_info_link} { + if {$is_git_info_exclude eq {}} { + if {[catch {exec test -f [gitdir info exclude]}]} { + set is_git_info_exclude 0 + } else { + set is_git_info_exclude 1 + } + } + return $is_git_info_exclude + } else { + return [file readable [gitdir info exclude]] + } + } +} else { + proc have_info_exclude {} { + return [file readable [gitdir info exclude]] + } +} + proc rescan_stage2 {fd after} { global rescan_active buf_rdi buf_rdf buf_rlo @@ -917,9 +946,8 @@ proc rescan_stage2 {fd after} { } set ls_others [list --exclude-per-directory=.gitignore] - set info_exclude [gitdir info exclude] - if {[file readable $info_exclude]} { - lappend ls_others "--exclude-from=$info_exclude" + if {[have_info_exclude]} { + lappend ls_others "--exclude-from=[gitdir info exclude]" } set user_exclude [get_config core.excludesfile] if {$user_exclude ne {} && [file readable $user_exclude]} { From a4bee597134aee9883adba1e79be926a92f80367 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 21 Sep 2007 03:41:51 -0400 Subject: [PATCH 53/91] git-gui: Refactor some UI init to occur earlier I'm starting to setup a main window that the user can use to locate an existing repository, clone an existing repository, or create a new repository from scratch. To help do that I want most of our common UI support already defined before we start to look for the Git repository, this way if it was not found we can open a window to help the user locate it. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 190 ++++++++++++++++++++++++++--------------------------- 1 file changed, 95 insertions(+), 95 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index e19fb688b2..3ddfcd50eb 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -521,6 +521,99 @@ proc rmsel_tag {text} { return $text } +set root_exists 0 +bind . { + bind . {} + set root_exists 1 +} + +###################################################################### +## +## config defaults + +set cursor_ptr arrow +font create font_diff -family Courier -size 10 +font create font_ui +catch { + label .dummy + eval font configure font_ui [font actual [.dummy cget -font]] + destroy .dummy +} + +font create font_uiitalic +font create font_uibold +font create font_diffbold +font create font_diffitalic + +foreach class {Button Checkbutton Entry Label + Labelframe Listbox Menu Message + Radiobutton Spinbox Text} { + option add *$class.font font_ui +} +unset class + +if {[is_Windows] || [is_MacOSX]} { + option add *Menu.tearOff 0 +} + +if {[is_MacOSX]} { + set M1B M1 + set M1T Cmd +} else { + set M1B Control + set M1T Ctrl +} + +proc bind_button3 {w cmd} { + bind $w $cmd + if {[is_MacOSX]} { + # Mac OS X sends Button-2 on right click through three-button mouse, + # or through trackpad right-clicking (two-finger touch + click). + bind $w $cmd + bind $w $cmd + } +} + +proc apply_config {} { + global repo_config font_descs + + foreach option $font_descs { + set name [lindex $option 0] + set font [lindex $option 1] + if {[catch { + foreach {cn cv} $repo_config(gui.$name) { + font configure $font $cn $cv -weight normal + } + } err]} { + error_popup [strcat [mc "Invalid font specified in %s:" "gui.$name"] "\n\n$err"] + } + foreach {cn cv} [font configure $font] { + font configure ${font}bold $cn $cv + font configure ${font}italic $cn $cv + } + font configure ${font}bold -weight bold + font configure ${font}italic -slant italic + } +} + +set default_config(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.matchtrackingbranch) false +set default_config(gui.pruneduringfetch) false +set default_config(gui.trustmtime) false +set default_config(gui.diffcontext) 5 +set default_config(gui.newbranchtemplate) {} +set default_config(gui.fontui) [font configure font_ui] +set default_config(gui.fontdiff) [font configure font_diff] +set font_descs { + {fontui font_ui {mc "Main Font"}} + {fontdiff font_diff {mc "Diff/Console Font"}} +} + ###################################################################### ## ## find git @@ -1448,16 +1541,6 @@ unset i ## ## util -proc bind_button3 {w cmd} { - bind $w $cmd - if {[is_MacOSX]} { - # Mac OS X sends Button-2 on right click through three-button mouse, - # or through trackpad right-clicking (two-finger touch + click). - bind $w $cmd - bind $w $cmd - } -} - proc scrollbar2many {list mode args} { foreach w $list {eval $w $mode $args} } @@ -1657,89 +1740,12 @@ proc add_range_to_selection {w x y} { $w tag add in_sel $begin.0 [expr {$end + 1}].0 } -###################################################################### -## -## config defaults - -set cursor_ptr arrow -font create font_diff -family Courier -size 10 -font create font_ui -catch { - label .dummy - eval font configure font_ui [font actual [.dummy cget -font]] - destroy .dummy -} - -font create font_uiitalic -font create font_uibold -font create font_diffbold -font create font_diffitalic - -foreach class {Button Checkbutton Entry Label - Labelframe Listbox Menu Message - Radiobutton Spinbox Text} { - option add *$class.font font_ui -} -unset class - -if {[is_Windows] || [is_MacOSX]} { - option add *Menu.tearOff 0 -} - -if {[is_MacOSX]} { - set M1B M1 - set M1T Cmd -} else { - set M1B Control - set M1T Ctrl -} - -proc apply_config {} { - global repo_config font_descs - - foreach option $font_descs { - set name [lindex $option 0] - set font [lindex $option 1] - if {[catch { - foreach {cn cv} $repo_config(gui.$name) { - font configure $font $cn $cv -weight normal - } - } err]} { - error_popup [strcat [mc "Invalid font specified in %s:" "gui.$name"] "\n\n$err"] - } - foreach {cn cv} [font configure $font] { - font configure ${font}bold $cn $cv - font configure ${font}italic $cn $cv - } - font configure ${font}bold -weight bold - font configure ${font}italic -slant italic - } -} - -set default_config(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.matchtrackingbranch) false -set default_config(gui.pruneduringfetch) false -set default_config(gui.trustmtime) false -set default_config(gui.diffcontext) 5 -set default_config(gui.newbranchtemplate) {} -set default_config(gui.fontui) [font configure font_ui] -set default_config(gui.fontdiff) [font configure font_diff] -set font_descs { - {fontui font_ui {mc "Main Font"}} - {fontdiff font_diff {mc "Diff/Console Font"}} -} -load_config 0 -apply_config - ###################################################################### ## ## ui construction +load_config 0 +apply_config set ui_comm {} # -- Menu Bar @@ -2039,12 +2045,6 @@ if {$browser ne {}} { } unset browser doc_path doc_url -set root_exists 0 -bind . { - bind . {} - set root_exists 1 -} - # -- Standard bindings # wm protocol . WM_DELETE_WINDOW do_quit From ab08b3630414dfb867825c4a5828438e1c69199d Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sat, 22 Sep 2007 03:47:43 -0400 Subject: [PATCH 54/91] git-gui: Allow users to choose/create/clone a repository If we are started outside of a git repository than it is likely the user started us from some sort of desktop shortcut icon in the operating system. In such a case the user is expecting us to prompt them to locate the git repository they want to work on, or to help them make a new repository, or to clone one from an existing location. This is a very simple wizard that offers the user one of these three choices. When we clone a repository we always use the name `master` in the local repository, even if the remote side does not appear to point to that name. I chose this as a policy decision. Much of the Git documentation talks about `master` being the default branch in a repository and that's what git-init does too. If the remote side doesn't call its default branch `master` most users just don't care, they just want to use Git the way the documentation describes. Rather than relying on the git-clone Porcelain that ships with git we build the new repository ourselves and then obtain content by git-fetch. This technique simplifies the entire clone process to roughly: `git init && git fetch && git pull`. Today we use three passes with git-fetch; the first pass gets us the bulk of the objects and the branches, the second pass gets us the tags, and the final pass gets us the current value of HEAD to initialize the default branch. If the source repository is on the local disk we try to use a hardlink to connect the objects into the new clone as this can be many times faster than copying the objects or packing them and passing the data through a pipe to index-pack. Unlike git-clone we stick to pure Tcl [file link -hard] operation thus avoiding the need to fork a cpio process to setup the hardlinks. If hardlinks do not appear to be supported (e.g. filesystem doesn't allow them or we are crossing filesystem boundaries) we use file copying instead. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 6 +- lib/choose_repository.tcl | 838 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 841 insertions(+), 3 deletions(-) create mode 100644 lib/choose_repository.tcl diff --git a/git-gui.sh b/git-gui.sh index 3ddfcd50eb..37da8fde3b 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -833,9 +833,9 @@ if {[catch { set _gitdir [git rev-parse --git-dir] set _prefix [git rev-parse --show-prefix] } err]} { - catch {wm withdraw .} - error_popup [strcat [mc "Cannot find the git directory:"] "\n\n$err"] - exit 1 + load_config 1 + apply_config + choose_repository::pick } if {![file isdirectory $_gitdir] && [is_Cygwin]} { catch {set _gitdir [exec cygpath --windows $_gitdir]} diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl new file mode 100644 index 0000000000..1bec8bd0a8 --- /dev/null +++ b/lib/choose_repository.tcl @@ -0,0 +1,838 @@ +# git-gui Git repository chooser +# Copyright (C) 2007 Shawn Pearce + +class choose_repository { + +image create photo ::choose_repository::git_logo -data { +R0lGODlh3wA9AMIHAMAAAMIKCsMKCgCAAN/v3/319f///wAAACH5BAEKAAcALAAAAADfAD0AAAP+ +aLrc/jDKSau9OOvNu/9gKI5kaZ5oqq5s675wLM90bd94ru987//AoHBILBqPyKSSFGg6n9BoUwCR +Wq3Ux3X7zC4Xg7B4HN4Bzui0eo2GsN9wN3ye/jLI+IGZzpfz535/b3ZgeWN7goMPiXGLjGyECoaH +Oo+QjpZ1mJlnkQaTYhigZR6cmg6mbZucnqN6F64fqZ2rmYGskbGwo7Kzt7a1lq28u6AfBcjJysvM +yRDN0NHP0dTKniS619pG2dveQd3f4jzh40eu3eh5EOrq5kPtk3fxoQ/0xO9A93jz9+z7hvKBA1hP +0r5/BMkIJIfvU0OE8opFXDjQWCGLEsplfEj+sUc6jg40RhDZMcdHjCNBpkQ5IuAHlx5gtjg5cWVN +CiRjrnu5Uye/FzRlQhQ6IWcHohqQZlCKImhPm0ztqeT506dCqlddOK0K9SnOqVYphS141OuKrVm7 +cv3KUkRUC28rxMXW0KjDthvxgphb1GxSvynQilWblu1Nt4BFJZY4mIVgskMXhwQrN+GryQkj+zvx +mFTew5/5Eo6nmV5p0pzrUr4LejTkv5mlxsZMsKlqvf1an3691PJud7JrpwZFoDgBu3Zzi/6NjrlI +y5cD+74IPbrydowPBgfofPXe6QarW6eOuvLsBtC7424JnnX67djhtr++mTb3s+3Fe0avvexl2g3L +laaPd4QECN9+HBioFYF2KMjff7AVtkNyBUpmnoQRNjYhg184SN94GfI2U38LeUieiIpBOGJ9JVpo +mIYhIggUiQKZGB6GvanoGI0l9ejjj0AGKeSQRBZp5JFIJqnkkkxOkAAAOw== +} + +field top +field w +field w_body ; # Widget holding the center content +field w_next ; # Next button +field o_cons ; # Console object (if active) +field w_types ; # List of type buttons in clone + +field action new ; # What action are we going to perform? +field done 0 ; # Finished picking the repository? +field local_path {} ; # Where this repository is locally +field origin_url {} ; # Where we are cloning from +field origin_name origin ; # What we shall call 'origin' +field clone_type hardlink ; # Type of clone to construct +field readtree_err ; # Error output from read-tree (if any) + +constructor pick {} { + global M1T M1B + + make_toplevel top w + wm title $top [mc "Git Gui"] + + if {$top eq {.}} { + menu $w.mbar -tearoff 0 + $top configure -menu $w.mbar + + $w.mbar add cascade \ + -label [mc Repository] \ + -menu $w.mbar.repository + menu $w.mbar.repository + $w.mbar.repository add command \ + -label [mc Quit] \ + -command exit \ + -accelerator $M1T-Q + + if {[is_MacOSX]} { + $w.mbar add cascade -label [mc Apple] -menu .mbar.apple + menu $w.mbar.apple + $w.mbar.apple add command \ + -label [mc "About %s" [appname]] \ + -command do_about + } 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 + } + + _center $top 500 350 + wm protocol $top WM_DELETE_WINDOW exit + bind $top <$M1B-q> exit + bind $top <$M1B-Q> exit + bind $top exit + } else { + wm geometry $top "+[winfo rootx .]+[winfo rooty .]" + bind $top [list destroy $top] + } + + label $w.git_logo \ + -borderwidth 1 \ + -relief sunken \ + -background white \ + -image ::choose_repository::git_logo + pack $w.git_logo -side top -fill x -padx 20 -pady 20 + + set w_body $w.body + frame $w_body + radiobutton $w_body.new \ + -anchor w \ + -text [mc "Create New Repository"] \ + -variable @action \ + -value new + radiobutton $w_body.clone \ + -anchor w \ + -text [mc "Clone Existing Repository"] \ + -variable @action \ + -value clone + radiobutton $w_body.open \ + -anchor w \ + -text [mc "Open Existing Repository"] \ + -variable @action \ + -value open + pack $w_body.new -anchor w -fill x + pack $w_body.clone -anchor w -fill x + pack $w_body.open -anchor w -fill x + pack $w_body -fill x -padx 10 + + frame $w.buttons + set w_next $w.buttons.next + button $w_next \ + -default active \ + -text [mc "Next >"] \ + -command [cb _next] + pack $w_next -side right -padx 5 + button $w.buttons.quit \ + -text [mc "Quit"] \ + -command exit + pack $w.buttons.quit -side right -padx 5 + pack $w.buttons -side bottom -fill x -padx 10 -pady 10 + + bind $top [cb _invoke_next] + bind $top " + grab $top + focus $top + " + tkwait variable @done + + if {$top eq {.}} { + eval destroy [winfo children $top] + _center $top 500 600 + } +} + +proc _home {} { + if {[catch {set h $::env(HOME)}] + || ![file isdirectory $h]} { + set h . + } + return $h +} + +proc _center {top nx ny} { + set rx [expr {([winfo screenwidth $top] - $nx) / 2}] + set ry [expr {([winfo screenheight $top] - $ny) / 2}] + wm geometry $top [format {%dx%d+%d+%d} $nx $ny $rx $ry] +} + +method _invoke_next {} { + if {[winfo exists $w_next]} { + uplevel #0 [$w_next cget -command] + } +} + +method _next {} { + destroy $w_body + _do_$action $this +} + +method _write_local_path {args} { + if {$local_path eq {}} { + $w_next conf -state disabled + } else { + $w_next conf -state normal + } +} + +method _git_init {} { + if {[file exists $local_path]} { + error_popup [mc "Location %s already exists." $local_path] + return 0 + } + + if {[catch {file mkdir $local_path} err]} { + error_popup [strcat \ + [mc "Failed to create repository %s:" $local_path] \ + "\n\n$err"] + return 0 + } + + if {[catch {cd $local_path} err]} { + error_popup [strcat \ + [mc "Failed to create repository %s:" $local_path] \ + "\n\n$err"] + return 0 + } + + if {[catch {git init} err]} { + error_popup [strcat \ + [mc "Failed to create repository %s:" $local_path] \ + "\n\n$err"] + return 0 + } + + set ::_gitdir .git + set ::_prefix {} + return 1 +} + +proc _is_git {path} { + if {[file exists [file join $path HEAD]] + && [file exists [file join $path objects]] + && [file exists [file join $path config]]} { + return 1 + } + return 0 +} + +###################################################################### +## +## Create New Repository + +method _do_new {} { + $w_next conf \ + -state disabled \ + -command [cb _do_new2] \ + -text [mc "Create"] + + frame $w_body + label $w_body.h \ + -font font_uibold \ + -text [mc "Create New Repository"] + pack $w_body.h -side top -fill x -pady 10 + pack $w_body -fill x -padx 10 + + frame $w_body.where + label $w_body.where.l -text [mc "Directory:"] + entry $w_body.where.t \ + -textvariable @local_path \ + -font font_diff \ + -width 50 + button $w_body.where.b \ + -text [mc "Browse"] \ + -command [cb _new_local_path] + + pack $w_body.where.b -side right + pack $w_body.where.l -side left + pack $w_body.where.t -fill x + pack $w_body.where -fill x + + trace add variable @local_path write [cb _write_local_path] + update + focus $w_body.where.t +} + +method _new_local_path {} { + if {$local_path ne {}} { + set p [file dirname $local_path] + } else { + set p [_home] + } + + set p [tk_chooseDirectory \ + -initialdir $p \ + -parent $top \ + -title [mc "Git Repository"] \ + -mustexist false] + if {$p eq {}} return + + set p [file normalize $p] + if {[file isdirectory $p]} { + foreach i [glob \ + -directory $p \ + -tails \ + -nocomplain \ + * .*] { + switch -- $i { + . continue + .. continue + default { + error_popup [mc "Directory %s already exists." $p] + return + } + } + } + if {[catch {file delete $p} err]} { + error_popup [strcat \ + [mc "Directory %s already exists." $p] \ + "\n\n$err"] + return + } + } elseif {[file exists $p]} { + error_popup [mc "File %s already exists." $p] + return + } + set local_path $p +} + +method _do_new2 {} { + if {![_git_init $this]} { + return + } + set done 1 +} + +###################################################################### +## +## Clone Existing Repository + +method _do_clone {} { + $w_next conf \ + -state disabled \ + -command [cb _do_clone2] \ + -text [mc "Clone"] + + frame $w_body + label $w_body.h \ + -font font_uibold \ + -text [mc "Clone Existing Repository"] + pack $w_body.h -side top -fill x -pady 10 + pack $w_body -fill x -padx 10 + + set args $w_body.args + frame $w_body.args + pack $args -fill both + + label $args.origin_l -text [mc "URL:"] + entry $args.origin_t \ + -textvariable @origin_url \ + -font font_diff \ + -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:"] + entry $args.where_t \ + -textvariable @local_path \ + -font font_diff \ + -width 50 + button $args.where_b \ + -text [mc "Browse"] \ + -command [cb _new_local_path] + grid $args.where_l $args.where_t $args.where_b -sticky ew + + label $args.type_l -text [mc "Clone Type:"] + frame $args.type_f + set w_types [list] + lappend w_types [radiobutton $args.type_f.hardlink \ + -state disabled \ + -anchor w \ + -text [mc "Standard (Fast, Semi-Redundant, Hardlinks)"] \ + -variable @clone_type \ + -value hardlink] + lappend w_types [radiobutton $args.type_f.full \ + -state disabled \ + -anchor w \ + -text [mc "Full Copy (Slower, Redundant Backup)"] \ + -variable @clone_type \ + -value full] + lappend w_types [radiobutton $args.type_f.shared \ + -state disabled \ + -anchor w \ + -text [mc "Shared (Fastest, Not Recommended, No Backup)"] \ + -variable @clone_type \ + -value shared] + foreach r $w_types { + pack $r -anchor w + } + grid $args.type_l $args.type_f -sticky new + + grid columnconfigure $args 1 -weight 1 + + trace add variable @local_path write [cb _update_clone] + trace add variable @origin_url write [cb _update_clone] + update + focus $args.origin_t +} + +method _open_origin {} { + if {$origin_url ne {} && [file isdirectory $origin_url]} { + set p $origin_url + } else { + set p [_home] + } + + set p [tk_chooseDirectory \ + -initialdir $p \ + -parent $top \ + -title [mc "Git Repository"] \ + -mustexist true] + if {$p eq {}} return + + set p [file normalize $p] + if {![_is_git [file join $p .git]] && ![_is_git $p]} { + error_popup [mc "Not a Git repository: %s" [file tail $p]] + return + } + set origin_url $p +} + +method _update_clone {args} { + if {$local_path ne {} && $origin_url ne {}} { + $w_next conf -state normal + } else { + $w_next conf -state disabled + } + + if {$origin_url ne {} && + ( [_is_git [file join $origin_url .git]] + || [_is_git $origin_url])} { + set e normal + if {[[lindex $w_types 0] cget -state] eq {disabled}} { + set clone_type hardlink + } + } else { + set e disabled + set clone_type full + } + + foreach r $w_types { + $r conf -state $e + } +} + +method _do_clone2 {} { + if {[file isdirectory $origin_url]} { + set origin_url [file normalize $origin_url] + } + + if {$clone_type eq {hardlink} && ![file isdirectory $origin_url]} { + error_popup [mc "Standard only available for local repository."] + return + } + if {$clone_type eq {shared} && ![file isdirectory $origin_url]} { + error_popup [mc "Shared only available for local repository."] + return + } + + if {$clone_type eq {hardlink} || $clone_type eq {shared}} { + set objdir [file join $origin_url .git objects] + if {![file isdirectory $objdir]} { + set objdir [file join $origin_url objects] + if {![file isdirectory $objdir]} { + error_popup [mc "Not a Git repository: %s" [file tail $origin_url]] + return + } + } + } + + set giturl $origin_url + if {[is_Cygwin] && [file isdirectory $giturl]} { + set giturl [exec cygpath --unix --absolute $giturl] + if {$clone_type eq {shared}} { + set objdir [exec cygpath --unix --absolute $objdir] + } + } + + if {![_git_init $this]} return + set local_path [pwd] + + if {[catch { + git config remote.$origin_name.url $giturl + git config remote.$origin_name.fetch +refs/heads/*:refs/remotes/$origin_name/* + } err]} { + error_popup [strcat [mc "Failed to configure origin"] "\n\n$err"] + return + } + + destroy $w_body $w_next + + switch -exact -- $clone_type { + hardlink { + set tolink [list] + file mkdir [file join .git objects pack] + foreach i [glob -tails -nocomplain \ + -directory [file join $objdir pack] *] { + lappend tolink [file join pack $i] + } + foreach i [glob -tails -nocomplain \ + -directory [file join $objdir] ??] { + file mkdir [file join .git objects $i] + foreach j [glob -tails -nocomplain \ + -directory [file join $objdir $i] *] { + lappend tolink [file join $i $j] + } + } + + if {$tolink eq {}} { + info_popup [strcat \ + [mc "Nothing to clone from %s." $origin_url] \ + "\n" \ + [mc "The 'master' branch has not been initialized."] \ + ] + set done 1 + return + } + + set o_cons [status_bar::new $w_body] + pack $w_body -fill x -padx 10 + + set i [lindex $tolink 0] + if {[catch { + file link -hard \ + [file join .git objects $i] \ + [file join $objdir $i] + } err]} { + info_popup [strcat \ + [mc "Hardlinks are unavailable. Falling back to copying."] \ + "\n" \ + $err] + set i [_copy_files $this $objdir $tolink] + } else { + set i [_link_files $this $objdir [lrange $tolink 1 end]] + } + if {!$i} return + + destroy $w_body + } + full { + set o_cons [console::embed \ + $w_body \ + [mc "Cloning from %s" $origin_url]] + pack $w_body -fill both -expand 1 -padx 10 + $o_cons exec \ + [list git fetch --no-tags -k $origin_name] \ + [cb _do_clone_tags] + } + shared { + set fd [open [gitdir objects info alternates] w] + fconfigure $fd -translation binary + puts $fd $objdir + close $fd + } + } + + if {$clone_type eq {hardlink} || $clone_type eq {shared}} { + if {![_clone_refs $this]} return + set pwd [pwd] + if {[catch { + cd $origin_url + set HEAD [git rev-parse --verify HEAD^0] + } err]} { + _clone_failed $this [mc "Not a Git repository: %s" [file tail $origin_url]] + return 0 + } + cd $pwd + _do_clone_checkout $this $HEAD + } +} + +method _copy_files {objdir tocopy} { + $o_cons start \ + [mc "Copying objects"] \ + [mc "KiB"] + set tot 0 + set cmp 0 + foreach p $tocopy { + incr tot [file size [file join $objdir $p]] + } + foreach p $tocopy { + if {[catch { + set f_in [open [file join $objdir $p] r] + set f_cp [open [file join .git objects $p] w] + fconfigure $f_in -translation binary -encoding binary + fconfigure $f_cp -translation binary -encoding binary + + while {![eof $f_in]} { + incr cmp [fcopy $f_in $f_cp -size 16384] + $o_cons update \ + [expr {$cmp / 1024}] \ + [expr {$tot / 1024}] + update + } + + close $f_in + close $f_cp + } err]} { + _clone_failed $this [mc "Unable to copy object: %s" $err] + return 0 + } + } + return 1 +} + +method _link_files {objdir tolink} { + set total [llength $tolink] + $o_cons start \ + [mc "Linking objects"] \ + [mc "objects"] + for {set i 0} {$i < $total} {} { + set p [lindex $tolink $i] + if {[catch { + file link -hard \ + [file join .git objects $p] \ + [file join $objdir $p] + } err]} { + _clone_failed $this [mc "Unable to hardlink object: %s" $err] + return 0 + } + + incr i + if {$i % 5 == 0} { + $o_cons update $i $total + update + } + } + return 1 +} + +method _clone_refs {} { + set pwd [pwd] + if {[catch {cd $origin_url} err]} { + error_popup [mc "Not a Git repository: %s" [file tail $origin_url]] + return 0 + } + set fd_in [git_read for-each-ref \ + --tcl \ + {--format=list %(refname) %(objectname) %(*objectname)}] + cd $pwd + + set fd [open [gitdir packed-refs] w] + fconfigure $fd -translation binary + puts $fd "# pack-refs with: peeled" + while {[gets $fd_in line] >= 0} { + set line [eval $line] + set refn [lindex $line 0] + set robj [lindex $line 1] + set tobj [lindex $line 2] + + if {[regsub ^refs/heads/ $refn \ + "refs/remotes/$origin_name/" refn]} { + puts $fd "$robj $refn" + } elseif {[string match refs/tags/* $refn]} { + puts $fd "$robj $refn" + if {$tobj ne {}} { + puts $fd "^$tobj" + } + } + } + close $fd_in + close $fd + return 1 +} + +method _do_clone_tags {ok} { + if {$ok} { + $o_cons exec \ + [list git fetch --tags -k $origin_name] \ + [cb _do_clone_HEAD] + } else { + $o_cons done $ok + _clone_failed $this [mc "Cannot fetch branches and objects. See console output for details."] + } +} + +method _do_clone_HEAD {ok} { + if {$ok} { + $o_cons exec \ + [list git fetch $origin_name HEAD] \ + [cb _do_clone_full_end] + } else { + $o_cons done $ok + _clone_failed $this [mc "Cannot fetch tags. See console output for details."] + } +} + +method _do_clone_full_end {ok} { + $o_cons done $ok + + if {$ok} { + destroy $w_body + + set HEAD {} + if {[file exists [gitdir FETCH_HEAD]]} { + set fd [open [gitdir FETCH_HEAD] r] + while {[gets $fd line] >= 0} { + if {[regexp "^(.{40})\t\t" $line line HEAD]} { + break + } + } + close $fd + } + + catch {git pack-refs} + _do_clone_checkout $this $HEAD + } else { + _clone_failed $this [mc "Cannot determine HEAD. See console output for details."] + } +} + +method _clone_failed {{why {}}} { + if {[catch {file delete -force $local_path} err]} { + set why [strcat \ + $why \ + "\n\n" \ + [mc "Unable to cleanup %s" $local_path] \ + "\n\n" \ + $err] + } + if {$why ne {}} { + update + error_popup [strcat [mc "Clone failed."] "\n" $why] + } +} + +method _do_clone_checkout {HEAD} { + if {$HEAD eq {}} { + info_popup [strcat \ + [mc "No default branch obtained."] \ + "\n" \ + [mc "The 'master' branch has not been initialized."] \ + ] + set done 1 + return + } + if {[catch { + git update-ref HEAD $HEAD^0 + } err]} { + info_popup [strcat \ + [mc "Cannot resolve %s as a commit." $HEAD^0] \ + "\n $err" \ + "\n" \ + [mc "The 'master' branch has not been initialized."] \ + ] + set done 1 + return + } + + set o_cons [status_bar::new $w_body] + pack $w_body -fill x -padx 10 + $o_cons start \ + [mc "Creating working directory"] \ + [mc "files"] + + set readtree_err {} + set fd [git_read --stderr read-tree \ + -m \ + -u \ + -v \ + HEAD \ + HEAD \ + ] + fconfigure $fd -blocking 0 -translation binary + fileevent $fd readable [cb _readtree_wait $fd] +} + +method _readtree_wait {fd} { + set buf [read $fd] + $o_cons update_meter $buf + append readtree_err $buf + + fconfigure $fd -blocking 1 + if {![eof $fd]} { + fconfigure $fd -blocking 0 + return + } + + if {[catch {close $fd}]} { + set err $readtree_err + regsub {^fatal: } $err {} err + error_popup [strcat \ + [mc "Initial file checkout failed."] \ + "\n\n$err"] + return + } + + set done 1 +} + +###################################################################### +## +## Open Existing Repository + +method _do_open {} { + $w_next conf \ + -state disabled \ + -command [cb _do_open2] \ + -text [mc "Open"] + + frame $w_body + label $w_body.h \ + -font font_uibold \ + -text [mc "Open Existing Repository"] + pack $w_body.h -side top -fill x -pady 10 + pack $w_body -fill x -padx 10 + + frame $w_body.where + label $w_body.where.l -text [mc "Repository:"] + entry $w_body.where.t \ + -textvariable @local_path \ + -font font_diff \ + -width 50 + button $w_body.where.b \ + -text [mc "Browse"] \ + -command [cb _open_local_path] + + pack $w_body.where.b -side right + pack $w_body.where.l -side left + pack $w_body.where.t -fill x + pack $w_body.where -fill x + + trace add variable @local_path write [cb _write_local_path] + update + focus $w_body.where.t +} + +method _open_local_path {} { + if {$local_path ne {}} { + set p $local_path + } else { + set p [_home] + } + + set p [tk_chooseDirectory \ + -initialdir $p \ + -parent $top \ + -title [mc "Git Repository"] \ + -mustexist true] + if {$p eq {}} return + + set p [file normalize $p] + if {![_is_git [file join $p .git]]} { + error_popup [mc "Not a Git repository: %s" [file tail $p]] + return + } + set local_path $p +} + +method _do_open2 {} { + if {![_is_git [file join $local_path .git]]} { + error_popup [mc "Not a Git repository: %s" [file tail $local_path]] + return + } + + if {[catch {cd $local_path} err]} { + error_popup [strcat \ + [mc "Failed to open repository %s:" $local_path] \ + "\n\n$err"] + return + } + + set ::_gitdir .git + set ::_prefix {} + set done 1 +} + +} From fbc8a93cd5b03bf15a3ebef6c0a512d2da3df7c4 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sun, 23 Sep 2007 05:25:13 -0400 Subject: [PATCH 55/91] git-gui: Avoid console scrollbars unless they are necessary We shouldn't create scrollbars for the horziontal or vertical sides unless there is enough content to make it worth drawing these widgets on screen. This way users don't loose screen space to objects that won't help them navigate the display. Signed-off-by: Shawn O. Pearce --- lib/console.tcl | 78 ++++++++++++++++++++++++++++++------------------- 1 file changed, 48 insertions(+), 30 deletions(-) diff --git a/lib/console.tcl b/lib/console.tcl index e5f9ba429b..cde9a09268 100644 --- a/lib/console.tcl +++ b/lib/console.tcl @@ -6,6 +6,7 @@ class console { field t_short field t_long field w +field w_t field console_cr field is_toplevel 1; # are we our own window? @@ -36,6 +37,7 @@ method _init {} { } set console_cr 1.0 + set w_t $w.m.t frame $w.m label $w.m.l1 \ @@ -43,38 +45,34 @@ method _init {} { -anchor w \ -justify left \ -font font_uibold - text $w.m.t \ + text $w_t \ -background white -borderwidth 1 \ -relief sunken \ -width 80 -height 10 \ -wrap none \ -font font_diff \ -state disabled \ - -xscrollcommand [list $w.m.sbx set] \ - -yscrollcommand [list $w.m.sby set] + -xscrollcommand [cb _sb_set $w.m.sbx h] \ + -yscrollcommand [cb _sb_set $w.m.sby v] label $w.m.s -text [mc "Working... please wait..."] \ -anchor w \ -justify left \ -font font_uibold - scrollbar $w.m.sbx -command [list $w.m.t xview] -orient h - scrollbar $w.m.sby -command [list $w.m.t yview] pack $w.m.l1 -side top -fill x pack $w.m.s -side bottom -fill x - pack $w.m.sbx -side bottom -fill x - pack $w.m.sby -side right -fill y - pack $w.m.t -side left -fill both -expand 1 + pack $w_t -side left -fill both -expand 1 pack $w.m -side top -fill both -expand 1 -padx 5 -pady 10 menu $w.ctxm -tearoff 0 $w.ctxm add command -label [mc "Copy"] \ - -command "tk_textCopy $w.m.t" + -command "tk_textCopy $w_t" $w.ctxm add command -label [mc "Select All"] \ - -command "focus $w.m.t;$w.m.t tag add sel 0.0 end" + -command "focus $w_t;$w_t tag add sel 0.0 end" $w.ctxm add command -label [mc "Copy All"] \ -command " - $w.m.t tag add sel 0.0 end - tk_textCopy $w.m.t - $w.m.t tag remove sel 0.0 end + $w_t tag add sel 0.0 end + tk_textCopy $w_t + $w_t tag remove sel 0.0 end " if {$is_toplevel} { @@ -85,9 +83,9 @@ method _init {} { bind $w [list focus $w] } - bind_button3 $w.m.t "tk_popup $w.ctxm %X %Y" - bind $w.m.t <$M1B-Key-a> "$w.m.t tag add sel 0.0 end;break" - bind $w.m.t <$M1B-Key-A> "$w.m.t tag add sel 0.0 end;break" + bind_button3 $w_t "tk_popup $w.ctxm %X %Y" + bind $w_t <$M1B-Key-a> "$w_t tag add sel 0.0 end;break" + bind $w_t <$M1B-Key-A> "$w_t tag add sel 0.0 end;break" } method exec {cmd {after {}}} { @@ -104,8 +102,8 @@ method exec {cmd {after {}}} { method _read {fd after} { set buf [read $fd] if {$buf ne {}} { - if {![winfo exists $w.m.t]} {_init $this} - $w.m.t conf -state normal + if {![winfo exists $w_t]} {_init $this} + $w_t conf -state normal set c 0 set n [string length $buf] while {$c < $n} { @@ -115,20 +113,20 @@ method _read {fd after} { if {$lf < 0} {set lf [expr {$n + 1}]} if {$lf < $cr} { - $w.m.t insert end [string range $buf $c $lf] - set console_cr [$w.m.t index {end -1c}] + $w_t insert end [string range $buf $c $lf] + set console_cr [$w_t index {end -1c}] set c $lf incr c } else { - $w.m.t delete $console_cr end - $w.m.t insert end "\n" - $w.m.t insert end [string range $buf $c $cr] + $w_t delete $console_cr end + $w_t insert end "\n" + $w_t insert end [string range $buf $c $cr] set c $cr incr c } } - $w.m.t conf -state disabled - $w.m.t see end + $w_t conf -state disabled + $w_t see end } fconfigure $fd -blocking 1 @@ -171,11 +169,11 @@ method chain {cmdlist {ok 1}} { } method insert {txt} { - if {![winfo exists $w.m.t]} {_init $this} - $w.m.t conf -state normal - $w.m.t insert end "$txt\n" - set console_cr [$w.m.t index {end -1c}] - $w.m.t conf -state disabled + if {![winfo exists $w_t]} {_init $this} + $w_t conf -state normal + $w_t insert end "$txt\n" + set console_cr [$w_t index {end -1c}] + $w_t conf -state disabled } method done {ok} { @@ -200,4 +198,24 @@ method done {ok} { delete_this } +method _sb_set {sb orient first last} { + if {$first == 0 && $last == 1} { + if {[winfo exists $sb]} { + destroy $sb + } + return + } + + if {![winfo exists $sb]} { + if {$orient eq {h}} { + scrollbar $sb -orient h -command [list $w_t xview] + pack $sb -fill x -side bottom -before $w_t + } else { + scrollbar $sb -orient v -command [list $w_t yview] + pack $sb -fill y -side right -before $w_t + } + } + catch {$sb set $first $last} +} + } From 4ff71c309b1454f6ec7381306449017fd686944b Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sun, 23 Sep 2007 14:39:21 +0100 Subject: [PATCH 56/91] Quick 'n dirty compile fix for missing msgfmt I only wanted to see the latest and greatest in terms of running git-gui in a directory that is not a git directory. We'll fix that missing msgfmt issue later. Signed-off-by: Johannes Schindelin --- git-gui/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-gui/Makefile b/git-gui/Makefile index 6236dd6ad3..065a090c91 100644 --- a/git-gui/Makefile +++ b/git-gui/Makefile @@ -141,7 +141,7 @@ $(PO_TEMPLATE): $(SCRIPT_SH) $(ALL_LIBFILES) update-po:: $(PO_TEMPLATE) $(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; ) $(ALL_MSGFILES): %.msg : %.po - $(QUIET_MSGFMT0)$(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@) $(QUIET_MSGFMT1) + $(QUIET_MSGFMT0)touch $@ $(QUIET_MSGFMT1) lib/tclIndex: $(ALL_LIBFILES) $(QUIET_INDEX)if echo \ From 3be4fa22e9e50839cfb3fb50970b8a247774c592 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sun, 23 Sep 2007 14:42:46 +0100 Subject: [PATCH 57/91] git-gui: actually show the choose repository dialog For some reason, "." was withdrawn, I think. Therefore we have to deiconify it, so the user sees something. Signed-off-by: Johannes Schindelin --- git-gui/lib/choose_repository.tcl | 1 + 1 file changed, 1 insertion(+) diff --git a/git-gui/lib/choose_repository.tcl b/git-gui/lib/choose_repository.tcl index 1bec8bd0a8..5f2d12fd07 100644 --- a/git-gui/lib/choose_repository.tcl +++ b/git-gui/lib/choose_repository.tcl @@ -123,6 +123,7 @@ constructor pick {} { grab $top focus $top " + wm deiconify $top tkwait variable @done if {$top eq {.}} { From 354e114d7461c5f7f6bd4e0fb6d880bdd15a7823 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sun, 23 Sep 2007 22:29:18 -0400 Subject: [PATCH 58/91] git-gui: Deiconify startup wizard so it raises to the top Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 1bec8bd0a8..5f2d12fd07 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -123,6 +123,7 @@ constructor pick {} { grab $top focus $top " + wm deiconify $top tkwait variable @done if {$top eq {.}} { From 071ba61874592b990aded3f61bb444354985d765 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 24 Sep 2007 13:46:42 +0100 Subject: [PATCH 59/91] Revert "Quick 'n dirty compile fix for missing msgfmt" This reverts commit 4ff71c309b1454f6ec7381306449017fd686944b. --- git-gui/Makefile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/git-gui/Makefile b/git-gui/Makefile index 065a090c91..6236dd6ad3 100644 --- a/git-gui/Makefile +++ b/git-gui/Makefile @@ -141,7 +141,7 @@ $(PO_TEMPLATE): $(SCRIPT_SH) $(ALL_LIBFILES) update-po:: $(PO_TEMPLATE) $(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; ) $(ALL_MSGFILES): %.msg : %.po - $(QUIET_MSGFMT0)touch $@ $(QUIET_MSGFMT1) + $(QUIET_MSGFMT0)$(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@) $(QUIET_MSGFMT1) lib/tclIndex: $(ALL_LIBFILES) $(QUIET_INDEX)if echo \ From f98e862b3105ba14891c71bbe6dfb9ea677f84cc Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 24 Sep 2007 13:51:57 +0100 Subject: [PATCH 60/91] git-gui: add a simple msgfmt replacement The program "msgfmt" was our only dependency on gettext. Since it is more than just a hassle to compile gettext on MinGW, here is a (very simple) drop-in replacement, which Works For Us. Signed-off-by: Johannes Schindelin --- git-gui/Makefile | 2 +- git-gui/po/po2msg.sh | 103 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 104 insertions(+), 1 deletion(-) create mode 100644 git-gui/po/po2msg.sh diff --git a/git-gui/Makefile b/git-gui/Makefile index 6236dd6ad3..b9affa4d7c 100644 --- a/git-gui/Makefile +++ b/git-gui/Makefile @@ -129,7 +129,7 @@ $(GITGUI_BUILT_INS): git-gui $(QUIET_BUILT_IN)rm -f $@ && ln git-gui $@ XGETTEXT ?= xgettext -MSGFMT ?= msgfmt +MSGFMT ?= po/po2msg.sh msgsdir = $(gg_libdir)/msgs msgsdir_SQ = $(subst ','\'',$(msgsdir)) PO_TEMPLATE = po/git-gui.pot diff --git a/git-gui/po/po2msg.sh b/git-gui/po/po2msg.sh new file mode 100644 index 0000000000..da0765dd80 --- /dev/null +++ b/git-gui/po/po2msg.sh @@ -0,0 +1,103 @@ +#!/bin/sh +# Tcl ignores the next line -*- tcl -*- \ +exec tclsh "$0" -- "$@" + +# This is a really stupid program, which serves as an alternative to +# msgfmt. It _only_ translates to Tcl mode, does _not_ validate the +# input, and does _not_ output any statistics. + +proc u2a {s} { + set res "" + foreach i [split $s ""] { + scan $i %c c + if {$c<128} { + # escape '[', '\' and ']' + if {$c == 0x5b || $c == 0x5d} { + append res "\\" + } + append res $i + } else { + append res \\u[format %04.4x $c] + } + } + return $res +} + +set output_directory "." +set lang "dummy" +set files [list] + +# parse options +for {set i 1} {$i < $argc} {incr i} { + set arg [lindex $argv $i] + if {$arg == "--statistics" || $arg == "--tcl"} { + continue + } + if {$arg == "-l"} { + incr i + set lang [lindex $argv $i] + continue + } + if {$arg == "-d"} { + incr i + set tmp [lindex $argv $i] + regsub "\[^/\]$" $tmp "&/" output_directory + continue + } + lappend files $arg +} + +proc flush_msg {} { + global msgid msgstr mode lang out + + if {![info exists msgid] || $mode == ""} { + return + } + set mode "" + + if {$msgid == ""} { + set prefix "set ::msgcat::header" + } else { + set prefix "::msgcat::mcset $lang \"[u2a $msgid]\"" + } + + puts $out "$prefix \"[u2a $msgstr]\"" +} + +foreach file $files { + regsub "^.*/\(\[^/\]*\)\.po$" $file "$output_directory\\1.msg" outfile + set in [open $file "r"] + fconfigure $in -encoding utf-8 + set out [open $outfile "w"] + + set mode "" + while {[gets $in line] >= 0} { + if {[regexp "^#" $line]} { + flush_msg + continue + } elseif {[regexp "^msgid \"(.*)\"$" $line dummy match]} { + flush_msg + set msgid $match + set mode "msgid" + } elseif {[regexp "^msgstr \"(.*)\"$" $line dummy match]} { + set msgstr $match + set mode "msgstr" + } elseif {$line == ""} { + flush_msg + } elseif {[regexp "^\"(.*)\"$" $line dummy match]} { + if {$mode == "msgid"} { + append msgid $match + } elseif {$mode == "msgstr"} { + append msgstr $match + } else { + puts stderr "I do not know what to do: $match" + } + } else { + puts stderr "Cannot handle $line" + } + } + flush_msg + close $in + close $out +} + From 40f86af01b061fbbd1e46d125280073322bf9f33 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 24 Sep 2007 08:26:07 -0400 Subject: [PATCH 61/91] git-gui: Don't bother showing OS error message about hardlinks If we failed to create our test hardlink for the first object we need to link/copy then the only recourse we have is to make a copy of the objects. Users don't really need to know the OS details about why the hardlink failed as its usually because they are crossing filesystem boundaries. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 5f2d12fd07..9074c1ba5c 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -496,10 +496,7 @@ method _do_clone2 {} { [file join .git objects $i] \ [file join $objdir $i] } err]} { - info_popup [strcat \ - [mc "Hardlinks are unavailable. Falling back to copying."] \ - "\n" \ - $err] + info_popup [mc "Hardlinks are unavailable. Falling back to copying."] set i [_copy_files $this $objdir $tolink] } else { set i [_link_files $this $objdir [lrange $tolink 1 end]] From 81d4d3dddc5e96aea45a2623c9b1840491348b92 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 24 Sep 2007 08:40:44 -0400 Subject: [PATCH 62/91] git-gui: Keep the UI responsive while counting objects in clone If we are doing a "standard" clone by way of hardlinking the objects (or copying them if hardlinks are not available) the UI can freeze up for a good few seconds while Tcl scans all of the object directories. This is espeically noticed on a Windows system when you are working off network shares and need to wait for both the NT overheads and the network. We now show a progress bar as we count the objects and build our list of things to copy. This keeps the user amused and also makes sure we run the Tk event loop often enough that the window can still be dragged around the desktop. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 30 +++++++++++++++++++++++++----- 1 file changed, 25 insertions(+), 5 deletions(-) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 9074c1ba5c..4ad1f781f7 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -462,20 +462,42 @@ method _do_clone2 {} { switch -exact -- $clone_type { hardlink { + set o_cons [status_bar::new $w_body] + pack $w_body -fill x -padx 10 + + $o_cons start \ + [mc "Counting objects"] \ + [mc "buckets"] + update + set tolink [list] + set buckets [glob \ + -tails \ + -nocomplain \ + -directory [file join $objdir] ??] + set bcnt [expr {[llength $buckets] + 2}] + set bcur 1 + $o_cons update $bcur $bcnt + update + file mkdir [file join .git objects pack] foreach i [glob -tails -nocomplain \ -directory [file join $objdir pack] *] { lappend tolink [file join pack $i] } - foreach i [glob -tails -nocomplain \ - -directory [file join $objdir] ??] { + $o_cons update [incr bcur] $bcnt + update + + foreach i $buckets { file mkdir [file join .git objects $i] foreach j [glob -tails -nocomplain \ -directory [file join $objdir $i] *] { lappend tolink [file join $i $j] } + $o_cons update [incr bcur] $bcnt + update } + $o_cons stop if {$tolink eq {}} { info_popup [strcat \ @@ -483,13 +505,11 @@ method _do_clone2 {} { "\n" \ [mc "The 'master' branch has not been initialized."] \ ] + destroy $w_body set done 1 return } - set o_cons [status_bar::new $w_body] - pack $w_body -fill x -padx 10 - set i [lindex $tolink 0] if {[catch { file link -hard \ From 85f77eadcc1d6e5a62079ab86988ffe95e9421d5 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 24 Sep 2007 08:50:58 -0400 Subject: [PATCH 63/91] git-gui: Copy objects/info/alternates during standard clone If the source repository is using an objects/info/alternates file we need to copy the file to our new repository so that it can access any objects that won't be copied/hardlinked as they are stored in the alternate location. We explicitly resolve all paths in the objects/info/alternates as relative to the source repository but then convert them into an absolute path for the new clone. This allows the new clone to access the exact same locaton as the source repository, even if relative paths had been used before. Under Cygwin we assume that Git is Cygwin based and that the paths in objects/info/alternates must be valid Cygwin UNIX paths, so we need to run `cygpath --unix` on each line in the alternate list. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 4ad1f781f7..f7b8c93095 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -470,6 +470,32 @@ method _do_clone2 {} { [mc "buckets"] update + if {[file exists [file join $objdir info alternates]]} { + set pwd [pwd] + if {[catch { + file mkdir [gitdir objects info] + set f_in [open [file join $objdir info alternates] r] + set f_cp [open [gitdir objects info alternates] w] + fconfigure $f_in -translation binary -encoding binary + fconfigure $f_cp -translation binary -encoding binary + cd $objdir + while {[gets $f_in line] >= 0} { + if {[is_Cygwin]} { + puts $f_cp [exec cygpath --unix --absolute $line] + } else { + puts $f_cp [file normalize $line] + } + } + close $f_in + close $f_cp + cd $pwd + } err]} { + catch {cd $pwd} + _clone_failed $this [mc "Unable to copy objects/info/alternates: %s" $err] + return + } + } + set tolink [list] set buckets [glob \ -tails \ From cd38c86fd8e8fbbc1d83b80f7d96cf19d8266196 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Mon, 24 Sep 2007 23:24:12 -0400 Subject: [PATCH 64/91] git-gui: add a simple msgfmt replacement The program "msgfmt" was our only dependency on gettext. Since it is more than just a hassle to compile gettext on MinGW, here is a (very simple) drop-in replacement, which Works For Us. [sp: Changed Makefile to enable/disable po2msg.sh by the new NO_MSGFMT variable.] Signed-off-by: Johannes Schindelin Signed-off-by: Shawn O. Pearce --- Makefile | 11 +++++- po/po2msg.sh | 103 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 113 insertions(+), 1 deletion(-) create mode 100644 po/po2msg.sh diff --git a/Makefile b/Makefile index 6236dd6ad3..0ab33517a9 100644 --- a/Makefile +++ b/Makefile @@ -2,6 +2,10 @@ all:: # Define V=1 to have a more verbose compile. # +# Define NO_MSGFMT if you do not have msgfmt from the GNU gettext +# package and want to use our rough pure Tcl po->msg translator. +# TCL_PATH must be vaild for this to work. +# GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE @$(SHELL_PATH) ./GIT-VERSION-GEN @@ -129,7 +133,12 @@ $(GITGUI_BUILT_INS): git-gui $(QUIET_BUILT_IN)rm -f $@ && ln git-gui $@ XGETTEXT ?= xgettext -MSGFMT ?= msgfmt +ifdef NO_MSGFMT + MSGFMT ?= $(TCL_PATH) po/po2msg.sh +else + MSGFMT ?= msgfmt +endif + msgsdir = $(gg_libdir)/msgs msgsdir_SQ = $(subst ','\'',$(msgsdir)) PO_TEMPLATE = po/git-gui.pot diff --git a/po/po2msg.sh b/po/po2msg.sh new file mode 100644 index 0000000000..da0765dd80 --- /dev/null +++ b/po/po2msg.sh @@ -0,0 +1,103 @@ +#!/bin/sh +# Tcl ignores the next line -*- tcl -*- \ +exec tclsh "$0" -- "$@" + +# This is a really stupid program, which serves as an alternative to +# msgfmt. It _only_ translates to Tcl mode, does _not_ validate the +# input, and does _not_ output any statistics. + +proc u2a {s} { + set res "" + foreach i [split $s ""] { + scan $i %c c + if {$c<128} { + # escape '[', '\' and ']' + if {$c == 0x5b || $c == 0x5d} { + append res "\\" + } + append res $i + } else { + append res \\u[format %04.4x $c] + } + } + return $res +} + +set output_directory "." +set lang "dummy" +set files [list] + +# parse options +for {set i 1} {$i < $argc} {incr i} { + set arg [lindex $argv $i] + if {$arg == "--statistics" || $arg == "--tcl"} { + continue + } + if {$arg == "-l"} { + incr i + set lang [lindex $argv $i] + continue + } + if {$arg == "-d"} { + incr i + set tmp [lindex $argv $i] + regsub "\[^/\]$" $tmp "&/" output_directory + continue + } + lappend files $arg +} + +proc flush_msg {} { + global msgid msgstr mode lang out + + if {![info exists msgid] || $mode == ""} { + return + } + set mode "" + + if {$msgid == ""} { + set prefix "set ::msgcat::header" + } else { + set prefix "::msgcat::mcset $lang \"[u2a $msgid]\"" + } + + puts $out "$prefix \"[u2a $msgstr]\"" +} + +foreach file $files { + regsub "^.*/\(\[^/\]*\)\.po$" $file "$output_directory\\1.msg" outfile + set in [open $file "r"] + fconfigure $in -encoding utf-8 + set out [open $outfile "w"] + + set mode "" + while {[gets $in line] >= 0} { + if {[regexp "^#" $line]} { + flush_msg + continue + } elseif {[regexp "^msgid \"(.*)\"$" $line dummy match]} { + flush_msg + set msgid $match + set mode "msgid" + } elseif {[regexp "^msgstr \"(.*)\"$" $line dummy match]} { + set msgstr $match + set mode "msgstr" + } elseif {$line == ""} { + flush_msg + } elseif {[regexp "^\"(.*)\"$" $line dummy match]} { + if {$mode == "msgid"} { + append msgid $match + } elseif {$mode == "msgstr"} { + append msgstr $match + } else { + puts stderr "I do not know what to do: $match" + } + } else { + puts stderr "Cannot handle $line" + } + } + flush_msg + close $in + close $out +} + From 6f2d73ec0cb6d5937bb4a62a222f942e4f886d6e Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 26 Sep 2007 14:05:54 -0400 Subject: [PATCH 65/91] git-gui: Don't delete console window namespaces too early If the console finishes displaying its output and is "done" but needs to draw a scrollbar to show the final output messages it is possible for Tk to delete the window namespace before it does the text widget updates, which means we are unable to add the horizontal or vertical scrollbar to the window when the text widget decides it cannot draw all glyphs on screen. We need to delay deleting the window namespace until we know the window is not going to ever be used again. This occurs if we are done receiving output, the command is successful and the window is closed, or if the window is open and the user chooses to close the window after the command has completed. Signed-off-by: Shawn O. Pearce --- lib/console.tcl | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/lib/console.tcl b/lib/console.tcl index cde9a09268..c0e6fb3cc2 100644 --- a/lib/console.tcl +++ b/lib/console.tcl @@ -179,23 +179,26 @@ method insert {txt} { method done {ok} { if {$ok} { if {[winfo exists $w.m.s]} { + bind $w.m.s [list delete_this $this] $w.m.s conf -background green -text [mc "Success"] if {$is_toplevel} { $w.ok conf -state normal focus $w.ok } + } else { + delete_this } } else { if {![winfo exists $w.m.s]} { _init $this } + bind $w.m.s [list delete_this $this] $w.m.s conf -background red -text [mc "Error: Command Failed"] if {$is_toplevel} { $w.ok conf -state normal focus $w.ok } } - delete_this } method _sb_set {sb orient first last} { From 59213f60b7a3085732f76736e1826869994abf1a Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 26 Sep 2007 14:16:45 -0400 Subject: [PATCH 66/91] git-gui: Don't delete scrollbars in console windows If we have added a scrollbar to the console window because one direction has too much text to fit in the available screen space we should just keep the scrollbars. Its annoying to watch our horizontal scrollbar bounce in and out of the window as additional text is inserted into the widget and the need for the scrollbar comes and goes. Signed-off-by: Shawn O. Pearce --- lib/console.tcl | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/lib/console.tcl b/lib/console.tcl index c0e6fb3cc2..2075374683 100644 --- a/lib/console.tcl +++ b/lib/console.tcl @@ -202,14 +202,8 @@ method done {ok} { } method _sb_set {sb orient first last} { - if {$first == 0 && $last == 1} { - if {[winfo exists $sb]} { - destroy $sb - } - return - } - if {![winfo exists $sb]} { + if {$first == $last || ($first == 0 && $last == 1)} return if {$orient eq {h}} { scrollbar $sb -orient h -command [list $w_t xview] pack $sb -fill x -side bottom -before $w_t @@ -218,7 +212,7 @@ method _sb_set {sb orient first last} { pack $sb -fill y -side right -before $w_t } } - catch {$sb set $first $last} + $sb set $first $last } } From a7cb8f583ff6ef01c23b1694f30e9004271264f9 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 26 Sep 2007 14:59:09 -0400 Subject: [PATCH 67/91] git-gui: Switch the git-gui logo to Henrik Nyh's logo Henrik came up with this alternative logo for gitweb and posted it on his blog: http://henrik.nyh.se/2007/06/alternative-git-logo-and-favicon The msysGit port uses his logo within some of their components, and frankly it looks better here in git-gui for our repository setup wizard screen. The logo fits quite nicely along the left edge of our window, leaving significantly more vertical space for things like the git-fetch console output. Because the logo changes the layout charateristics of the setup window I also needed to adjust some of the padding for our widgets and stop using a fixed width window size. We now let Tk compute the correct size of the main window whenever the layout changes, and drop the window into roughly the upper left 1/3 of the desktop so its not quite centered but is likely to be far enough away from any sort of task bars/menu bars/docks that the user may have along any edge of the screen. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 63 +++++++++++++++++++++++++-------------- 1 file changed, 41 insertions(+), 22 deletions(-) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index f7b8c93095..8d3c81e7c0 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -3,19 +3,36 @@ class choose_repository { +# Henrik Nyh's alternative Git logo, from his blog post +# http://henrik.nyh.se/2007/06/alternative-git-logo-and-favicon +# image create photo ::choose_repository::git_logo -data { -R0lGODlh3wA9AMIHAMAAAMIKCsMKCgCAAN/v3/319f///wAAACH5BAEKAAcALAAAAADfAD0AAAP+ -aLrc/jDKSau9OOvNu/9gKI5kaZ5oqq5s675wLM90bd94ru987//AoHBILBqPyKSSFGg6n9BoUwCR -Wq3Ux3X7zC4Xg7B4HN4Bzui0eo2GsN9wN3ye/jLI+IGZzpfz535/b3ZgeWN7goMPiXGLjGyECoaH -Oo+QjpZ1mJlnkQaTYhigZR6cmg6mbZucnqN6F64fqZ2rmYGskbGwo7Kzt7a1lq28u6AfBcjJysvM -yRDN0NHP0dTKniS619pG2dveQd3f4jzh40eu3eh5EOrq5kPtk3fxoQ/0xO9A93jz9+z7hvKBA1hP -0r5/BMkIJIfvU0OE8opFXDjQWCGLEsplfEj+sUc6jg40RhDZMcdHjCNBpkQ5IuAHlx5gtjg5cWVN -CiRjrnu5Uye/FzRlQhQ6IWcHohqQZlCKImhPm0ztqeT506dCqlddOK0K9SnOqVYphS141OuKrVm7 -cv3KUkRUC28rxMXW0KjDthvxgphb1GxSvynQilWblu1Nt4BFJZY4mIVgskMXhwQrN+GryQkj+zvx -mFTew5/5Eo6nmV5p0pzrUr4LejTkv5mlxsZMsKlqvf1an3691PJud7JrpwZFoDgBu3Zzi/6NjrlI -y5cD+74IPbrydowPBgfofPXe6QarW6eOuvLsBtC7424JnnX67djhtr++mTb3s+3Fe0avvexl2g3L -laaPd4QECN9+HBioFYF2KMjff7AVtkNyBUpmnoQRNjYhg184SN94GfI2U38LeUieiIpBOGJ9JVpo -mIYhIggUiQKZGB6GvanoGI0l9ejjj0AGKeSQRBZp5JFIJqnkkkxOkAAAOw== +R0lGODdhYQC8AIQbAGZmZtg4LW9vb3l5eYKCgoyMjEC/TOJpYZWVlZ+fn2/PeKmpqbKysry8vMXF +xZ/fpc/Pz7fnvPXNytnZ2eLi4s/v0vja1+zs7Of36fX19f3z8v///////////////////ywAAAAA +YQC8AAAF/uAmjmRpnmiqrmzrvq4hz3RtGw+s7zx5/7dcb0hUAY8zYXHJRCKVzGjPeYRKry8q0Irt +GrVBr3gFDo/PprKNix6ra+y2902Ly7H05L2dl9n3UX04gGeCf4RFhohiiotdjY5XkJGBfYeUOpOY +iZablXmXURgPpKWmp6ipqYIKqq6vqREjFYK1trUKs7e7vFq5IrS9wsM0vxvBxMm8xsjKzqy6z9J5 +zNPWatXX2k7Z29433d/iMuHj3+Xm2+jp1+vs0+7vz/HyyvT1xPf4wvr7y9H+pBkbBasgLFYGE8ba +o8nTlE4OOYGKKJFOKIopGmLMAnHjDo0eWYAM+WUiSRgj/k+eSKmyBMuWI17C3CATZs2WN1XmPLmT +ZM+QPz0G3VihqNGjSJNWwDCzqdOnUKPu0SChqtWrWLNq3cq1q9evYCVYGCEhgNmzaNOqXcu2rdu3 +cOMGOEBWrt27ePPCpSuirN6/gAO35bvBr+DDiPMSNpy4sWO2ix9Lnmw2MuXLiS1j3gxYM+fPdz2D +Hv1WNOnTak2jXj23LuvXlV3DZq16Nujatjnjzo15N2/Kvn9LDi7cMfHimaUqX868ufPn0KPPpOCA +AQMWCQBo3869u/fv4MNrd3DlQoMC3QlkSJFdvPv38LVDWJLBAYHwE1LE38+/+/UhGTAggHv5odDf +gfv9/seDgPAVeAKCELqnIAwU3BefgyZEqOF3E7rAQH8YlrDhiNt1uEIG6IGoH4kjmpjCBRaqaCCL +G7p4AgUDIhgiCTTW2AKOEe44Qo8a2khCBgNoKKQIREZopAgZxAjhkhs0CeGTG7Sn5IpW9vekAyRS +2eWBRl6Q44ZijhlfAQlQmeKIaarpHZsMTHABCxDQGKec3JH3QpIs7snndn6yAKaeXA7aZwuABppo +fAws0GiEhaKQJ40F3DkjfwVC8CaCAlCgAgIkJjDfCgdiOMGn/Q2w3gkZtPgqC6ma0ECECaBwa4QE +aOpCrSYAqeMJpEKYqw7ABnsmfwQ8aCwPySqLYKUb/kwAYbPQyoiCtQcOUMKHBwrgK7LaogBuuaxC +OkS0KEwa37EiLBufALPuwO4Jh/InwAixkknEvSe4C9+p3PY3rr3lpnDufguIcCmzRQAc7IHYLhxf +w/8mnILA74lg8cARa4xCsZxusMCBomZccgsfv0deuh2HvLKh/sLs3hJSvieuCwUzvIHN4tGXc3ih +vtDzmj8fSNLR8BWQdH9LH+g00OFF3d/UBx4cUcvuOc21eFRiouV+Xvvr0dDvlX21R/2uzTR89TqU +L3+5UoBgAxtRHd5/CHpLkd13i4D2e3hHRLKMY+9Hr0Nvx/fq3Pw57cng7/m9wQVObnIyhAiQwHF8 +/tQS8nDgI2wOYeh3CAvhuIBHiDEgqvdtwudkaz3GBPKaTcKuGgqAJRMZmK6h1hnk3ncDcUvhgPFS +o5B476ZKQcECzCN4qgmYN4lAncmzcAEEkhJp+QlfkyhAAdtbN8H67FvHQAF6b4g6v9UryqfkKkBu +v/0prxD//kR63YnqB8AeqcdoBRxU/1zAuwRaaX4reJ4DSSRAHUhwgrgqwgUx2B94EWGDHISPBzUY +QgSNcAn6K6F4fscDCtBOhdoRwPW6kIHDwZA7vWoDBF44Qd/tIUAEBCACbIeG4AXxfmFrQ4B4OCYE +JBEQELChmgbAACJioj4JOCKCCLCABZ6EAg1IHwDlyLYAB1gRJhSYgHUQAD9WnQ9+CWBAA+wknTpC +JwQAOw== } field top @@ -66,7 +83,6 @@ constructor pick {} { -command do_about } - _center $top 500 350 wm protocol $top WM_DELETE_WINDOW exit bind $top <$M1B-q> exit bind $top <$M1B-Q> exit @@ -81,7 +97,7 @@ constructor pick {} { -relief sunken \ -background white \ -image ::choose_repository::git_logo - pack $w.git_logo -side top -fill x -padx 20 -pady 20 + pack $w.git_logo -side left -fill y -padx 10 -pady 10 set w_body $w.body frame $w_body @@ -103,7 +119,7 @@ constructor pick {} { pack $w_body.new -anchor w -fill x pack $w_body.clone -anchor w -fill x pack $w_body.open -anchor w -fill x - pack $w_body -fill x -padx 10 + pack $w_body -fill x -padx 10 -pady 10 frame $w.buttons set w_next $w.buttons.next @@ -120,15 +136,16 @@ constructor pick {} { bind $top [cb _invoke_next] bind $top " + [cb _center] grab $top focus $top + bind $top {} " wm deiconify $top tkwait variable @done if {$top eq {.}} { eval destroy [winfo children $top] - _center $top 500 600 } } @@ -140,10 +157,12 @@ proc _home {} { return $h } -proc _center {top nx ny} { - set rx [expr {([winfo screenwidth $top] - $nx) / 2}] - set ry [expr {([winfo screenheight $top] - $ny) / 2}] - wm geometry $top [format {%dx%d+%d+%d} $nx $ny $rx $ry] +method _center {} { + set nx [winfo reqwidth $top] + set ny [winfo reqheight $top] + set rx [expr {([winfo screenwidth $top] - $nx) / 3}] + set ry [expr {([winfo screenheight $top] - $ny) / 3}] + wm geometry $top [format {+%d+%d} $rx $ry] } method _invoke_next {} { @@ -463,7 +482,7 @@ method _do_clone2 {} { switch -exact -- $clone_type { hardlink { set o_cons [status_bar::new $w_body] - pack $w_body -fill x -padx 10 + pack $w_body -fill x -padx 10 -pady 10 $o_cons start \ [mc "Counting objects"] \ @@ -762,7 +781,7 @@ method _do_clone_checkout {HEAD} { } set o_cons [status_bar::new $w_body] - pack $w_body -fill x -padx 10 + pack $w_body -fill x -padx 10 -pady 10 $o_cons start \ [mc "Creating working directory"] \ [mc "files"] From 96225dbe966fdbf00ef1a3a1dd801534953c9919 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 26 Sep 2007 15:31:42 -0400 Subject: [PATCH 68/91] git-gui: Make the status bar easier to read in the setup wizard The setup wizard looks better if we layout the progress bar as two lines: the first line holds the message text and our text formatting of the progress while the second line holds the bar itself. Both extend the full width of the window and we try to pad out the message text so the window doesn't expand when the completed progress number jumps to the next order of magnitude. This change required updating the progress meter format string to allow the application to supply the precision. So we also are updating all of the translations at once to use the newer formatting string. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 4 ++-- lib/status_bar.tcl | 38 +++++++++++++++++++++++++++++++++----- po/de.po | 4 ++-- po/git-gui.pot | 2 +- po/hu.po | 4 ++-- po/it.po | 4 ++-- po/ja.po | 4 ++-- po/ru.po | 4 ++-- po/zh_cn.po | 2 +- 9 files changed, 47 insertions(+), 19 deletions(-) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 8d3c81e7c0..16bf67c34f 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -481,7 +481,7 @@ method _do_clone2 {} { switch -exact -- $clone_type { hardlink { - set o_cons [status_bar::new $w_body] + set o_cons [status_bar::two_line $w_body] pack $w_body -fill x -padx 10 -pady 10 $o_cons start \ @@ -780,7 +780,7 @@ method _do_clone_checkout {HEAD} { return } - set o_cons [status_bar::new $w_body] + set o_cons [status_bar::two_line $w_body] pack $w_body -fill x -padx 10 -pady 10 $o_cons start \ [mc "Creating working directory"] \ diff --git a/lib/status_bar.tcl b/lib/status_bar.tcl index 769ef81c4b..5c5bf7c731 100644 --- a/lib/status_bar.tcl +++ b/lib/status_bar.tcl @@ -6,6 +6,7 @@ class status_bar { field w ; # our own window path field w_l ; # text widget we draw messages into field w_c ; # canvas we draw a progress bar into +field c_pack ; # script to pack the canvas with field status {}; # single line of text we show field prefix {}; # text we format into status field units {}; # unit of progress @@ -24,6 +25,29 @@ constructor new {path} { -anchor w \ -justify left pack $w_l -side left + set c_pack [cb _oneline_pack] + + bind $w [cb _delete %W] + return $this +} + +method _oneline_pack {} { + $w_c conf -width 100 + pack $w_c -side right +} + +constructor two_line {path} { + set w $path + set w_l $w.l + set w_c $w.c + + frame $w + label $w_l \ + -textvariable @status \ + -anchor w \ + -justify left + pack $w_l -anchor w -fill x + set c_pack [list pack $w_c -fill x] bind $w [cb _delete %W] return $this @@ -34,13 +58,12 @@ method start {msg uds} { $w_c coords bar 0 0 0 20 } else { canvas $w_c \ - -width 100 \ -height [expr {int([winfo reqheight $w_l] * 0.6)}] \ -borderwidth 1 \ -relief groove \ -highlightt 0 $w_c create rectangle 0 0 0 20 -tags bar -fill navy - pack $w_c -side right + eval $c_pack } set status $msg @@ -53,11 +76,16 @@ method update {have total} { set pdone 0 if {$total > 0} { set pdone [expr {100 * $have / $total}] + set cdone [expr {[winfo width $w_c] * $have / $total}] } - set status [mc "%s ... %i of %i %s (%2i%%)" \ - $prefix $have $total $units $pdone] - $w_c coords bar 0 0 $pdone 20 + set prec [string length [format %i $total]] + set status [mc "%s ... %*i of %*i %s (%3i%%)" \ + $prefix \ + $prec $have \ + $prec $total \ + $units $pdone] + $w_c coords bar 0 0 $cdone 20 } method update_meter {buf} { diff --git a/po/de.po b/po/de.po index 7d57dd15f9..94b7463ca3 100644 --- a/po/de.po +++ b/po/de.po @@ -1350,8 +1350,8 @@ msgstr "Fehler beim Erstellen des Icons:" #: lib/status_bar.tcl:58 #, tcl-format -msgid "%s ... %i of %i %s (%2i%%)" -msgstr "%s ... %i von %i %s (%2i%%)" +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%s ... %*i von %*i %s (%3i%%)" #: lib/transport.tcl:7 #, tcl-format diff --git a/po/git-gui.pot b/po/git-gui.pot index 991efea5f3..b352302572 100644 --- a/po/git-gui.pot +++ b/po/git-gui.pot @@ -1216,7 +1216,7 @@ msgstr "" #: lib/status_bar.tcl:58 #, tcl-format -msgid "%s ... %i of %i %s (%2i%%)" +msgid "%s ... %*i of %*i %s (%3i%%)" msgstr "" #: lib/transport.tcl:7 diff --git a/po/hu.po b/po/hu.po index faac58f810..1e189b6086 100644 --- a/po/hu.po +++ b/po/hu.po @@ -1344,8 +1344,8 @@ msgstr "Nem sikerült írni az ikont:" #: lib/status_bar.tcl:58 #, tcl-format -msgid "%s ... %i of %i %s (%2i%%)" -msgstr "%s ... %i / %i %s (%2i%%)" +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%s ... %*i / %*i %s (%3i%%)" #: lib/transport.tcl:7 #, tcl-format diff --git a/po/it.po b/po/it.po index 17a5c21882..ad5cd9e5da 100644 --- a/po/it.po +++ b/po/it.po @@ -1344,8 +1344,8 @@ msgstr "Impossibile scrivere icona:" #: lib/status_bar.tcl:58 #, tcl-format -msgid "%s ... %i of %i %s (%2i%%)" -msgstr "%s ... %i di %i %s (%2i%%)" +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%s ... %*i di %*i %s (%3i%%)" #: lib/transport.tcl:7 #, tcl-format diff --git a/po/ja.po b/po/ja.po index 17139080ec..cdbc981ca5 100644 --- a/po/ja.po +++ b/po/ja.po @@ -1333,8 +1333,8 @@ msgstr "アイコンが書けません:" #: lib/status_bar.tcl:58 #, tcl-format -msgid "%s ... %i of %i %s (%2i%%)" -msgstr "%1$s ... %3$i %4$s 中の %$2i (%5$2i%%)" +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%1$s ... %3$*i %4$s 中の %$2*i (%5$3i%%)" #: lib/transport.tcl:7 #, tcl-format diff --git a/po/ru.po b/po/ru.po index c44d30af0a..20080338c8 100644 --- a/po/ru.po +++ b/po/ru.po @@ -1434,8 +1434,8 @@ msgstr "Невозможно записать значок:" #: lib/status_bar.tcl:58 #, tcl-format -msgid "%s ... %i of %i %s (%2i%%)" -msgstr "%s ... %i из %i %s (%2i%%)" +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%s ... %*i из %*i %s (%3i%%)" #: lib/transport.tcl:7 #, tcl-format diff --git a/po/zh_cn.po b/po/zh_cn.po index 45eb5b5f98..d1ed94f8a9 100644 --- a/po/zh_cn.po +++ b/po/zh_cn.po @@ -1238,7 +1238,7 @@ msgstr "" #: lib/status_bar.tcl:58 #, tcl-format -msgid "%s ... %i of %i %s (%2i%%)" +msgid "%s ... %*i of %*i %s (%3i%%)" msgstr "" #: lib/transport.tcl:7 From cbf13d9e0c4fc7ac4f2f52f88cff94f1fc311971 Mon Sep 17 00:00:00 2001 From: Michele Ballabio Date: Thu, 27 Sep 2007 14:53:25 +0200 Subject: [PATCH 69/91] git-gui: fix typo in lib/blame.tcl Signed-off-by: Michele Ballabio Signed-off-by: Shawn O. Pearce --- lib/blame.tcl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/blame.tcl b/lib/blame.tcl index a911c3c77d..00ecf21333 100644 --- a/lib/blame.tcl +++ b/lib/blame.tcl @@ -905,7 +905,7 @@ method _open_tooltip {cur_w} { set author_time {} catch {set author_name $header($cmit,author)} catch {set summary $header($cmit,summary)} - catch {set author_time [foramt_date $header($cmit,author-time)]} + catch {set author_time [format_date $header($cmit,author-time)]} $tooltip_t insert end [strcat [mc "Originally By:"] "\n"] section_header $tooltip_t insert end "commit $cmit\n" From 1bdd8a153528b539fdaed23c18e87a374b1f3ff8 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 27 Sep 2007 00:18:29 -0400 Subject: [PATCH 70/91] git-gui: Use Henrik Nyh's git logo icon on Windows systems Rather than displaying the stock red "Tk" icon in our window title bars and on the task bar we now show a Git specific logo. This is Henrik Nyh's logo that we also use in the startup wizard, scaled to a 16x16 image for Windows task bar usage with a proper transparent background. Signed-off-by: Shawn O. Pearce --- Makefile | 2 ++ git-gui.sh | 4 ++++ lib/git-gui.ico | Bin 0 -> 318 bytes 3 files changed, 6 insertions(+) create mode 100644 lib/git-gui.ico diff --git a/Makefile b/Makefile index 0ab33517a9..ea83263406 100644 --- a/Makefile +++ b/Makefile @@ -193,6 +193,7 @@ install: all $(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 $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(INSTALL_D1) $(QUIET)$(INSTALL_R0)lib/tclIndex $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' + $(QUIET)$(INSTALL_R0)lib/git-gui.ico $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' $(QUIET)$(foreach p,$(ALL_LIBFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' &&) true $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(INSTALL_D1) $(QUIET)$(foreach p,$(ALL_MSGFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true @@ -203,6 +204,7 @@ uninstall: $(QUIET)$(foreach p,$(GITGUI_BUILT_INS), $(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/$p $(REMOVE_F1) &&) true $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(libdir_SQ)' $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/tclIndex $(REMOVE_F1) + $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/git-gui.ico $(REMOVE_F1) $(QUIET)$(foreach p,$(ALL_LIBFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(msgsdir_SQ)' $(QUIET)$(foreach p,$(ALL_MSGFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(msgsdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true diff --git a/git-gui.sh b/git-gui.sh index 37da8fde3b..843191a896 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -527,6 +527,10 @@ bind . { set root_exists 1 } +if {[is_Windows]} { + wm iconbitmap . -default $oguilib/git-gui.ico +} + ###################################################################### ## ## config defaults diff --git a/lib/git-gui.ico b/lib/git-gui.ico new file mode 100644 index 0000000000000000000000000000000000000000..563dd66238c1a5c169438fdb87ab797f6d19d1bc GIT binary patch literal 318 zcmZ{aI}XAy5JV>uJ$7MQDAOPcghU60DUcAtknN#y8;J{W6>gFv&{A`PAPRmFV(kqb zS!;GYZx%@SDW!O~kS0I}K+00A9xL#s+3xo6-ebNzqCY-kQB0do|8gSInpZISaEic) zJMD~%z0r(_oRhmXtwN+BPw>r1oU&Pn^z+Qx2&}bPyiW4F7RUZ SE~I<%|8o#MxGM)hRp&1`Pe2d= literal 0 HcmV?d00001 From 72a8e81d457a1ee1283817d03d8e28303c2b4e7e Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 27 Sep 2007 02:30:51 -0400 Subject: [PATCH 71/91] git-gui: Support a native Mac OS X application bundle If we are building on Darwin (sometimes known as Mac OS X) and we find the Mac OS X Tk.framework in the expected location we build a proper Mac OS X application bundle with icons and info list. The git-gui and git-citool commands are modified to be very short shell scripts that just execute the application bundle, starting Tk with our own info list and icon set. Although the Makefile change here is rather large it makes for a much more pleasant user experience on Mac OS X as git-gui now has its own icon on the dock, in the standard tk_messageBox dialogs, and the application name now says "Git Gui" instead of "Wish" in locations such as the menu bar and the alt-tab window. Signed-off-by: Shawn O. Pearce --- .gitignore | 4 +- Makefile | 96 +++++++++++++++++++++++++++++++++++--------- macosx/AppMain.tcl | 22 ++++++++++ macosx/Info.plist | 28 +++++++++++++ macosx/git-gui.icns | Bin 0 -> 28866 bytes 5 files changed, 129 insertions(+), 21 deletions(-) create mode 100644 macosx/AppMain.tcl create mode 100644 macosx/Info.plist create mode 100644 macosx/git-gui.icns diff --git a/.gitignore b/.gitignore index 020b86deae..a7cfd6d5a0 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,7 @@ +.DS_Store +Git Gui.app* +git-gui.tcl GIT-VERSION-FILE GIT-GUI-VARS -git-citool git-gui lib/tclIndex diff --git a/Makefile b/Makefile index ea83263406..818a0ab45c 100644 --- a/Makefile +++ b/Makefile @@ -11,11 +11,12 @@ GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE @$(SHELL_PATH) ./GIT-VERSION-GEN -include GIT-VERSION-FILE +uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not') SCRIPT_SH = git-gui.sh +GITGUI_MAIN := git-gui GITGUI_BUILT_INS = git-citool -ALL_PROGRAMS = $(GITGUI_BUILT_INS) $(patsubst %.sh,%,$(SCRIPT_SH)) ALL_LIBFILES = $(wildcard lib/*.tcl) PRELOAD_FILES = lib/class.tcl @@ -35,7 +36,7 @@ ifndef INSTALL INSTALL = install endif -RM_F ?= rm -f +RM_RF ?= rm -rf RMDIR ?= rmdir INSTALL_D0 = $(INSTALL) -d -m755 # space is required here @@ -44,6 +45,8 @@ INSTALL_R0 = $(INSTALL) -m644 # space is required here INSTALL_R1 = INSTALL_X0 = $(INSTALL) -m755 # space is required here INSTALL_X1 = +INSTALL_A0 = find # space is required here +INSTALL_A1 = | cpio -pud INSTALL_L0 = rm -f # space is required here INSTALL_L1 = && ln # space is required here INSTALL_L2 = @@ -51,14 +54,13 @@ INSTALL_L3 = REMOVE_D0 = $(RMDIR) # space is required here REMOVE_D1 = || true -REMOVE_F0 = $(RM_F) # space is required here +REMOVE_F0 = $(RM_RF) # space is required here REMOVE_F1 = CLEAN_DST = true ifndef V QUIET = @ - QUIET_GEN = $(QUIET)echo ' ' GEN $@ && - QUIET_BUILT_IN = $(QUIET)echo ' ' BUILTIN $@ && + QUIET_GEN = $(QUIET)echo ' ' GEN '$@' && QUIET_INDEX = $(QUIET)echo ' ' INDEX $(dir $@) && QUIET_MSGFMT0 = $(QUIET)printf ' MSGFMT %12s ' $@ && v=` QUIET_MSGFMT1 = 2>&1` && echo "$$v" | sed -e 's/fuzzy translations/fuzzy/' | sed -e 's/ messages//g' @@ -70,6 +72,8 @@ ifndef V INSTALL_R1 = && echo ' ' INSTALL 644 `basename $$src` && $(INSTALL) -m644 $$src INSTALL_X0 = src= INSTALL_X1 = && echo ' ' INSTALL 755 `basename $$src` && $(INSTALL) -m755 $$src + INSTALL_A0 = src= + INSTALL_A1 = && echo ' ' INSTALL ' ' `basename "$$src"` && find "$$src" | cpio -pud INSTALL_L0 = dst= INSTALL_L1 = && src= @@ -80,15 +84,15 @@ ifndef V REMOVE_D0 = dir= REMOVE_D1 = && echo ' ' REMOVE $$dir && test -d "$$dir" && $(RMDIR) "$$dir" || true REMOVE_F0 = dst= - REMOVE_F1 = && echo ' ' REMOVE `basename "$$dst"` && $(RM_F) "$$dst" + REMOVE_F1 = && echo ' ' REMOVE `basename "$$dst"` && $(RM_RF) "$$dst" endif TCL_PATH ?= tclsh TCLTK_PATH ?= wish +TKFRAMEWORK = /Library/Frameworks/Tk.framework/Resources/Wish.app ifeq ($(findstring $(MAKEFLAGS),s),s) QUIET_GEN = -QUIET_BUILT_IN = endif DESTDIR_SQ = $(subst ','\'',$(DESTDIR)) @@ -105,6 +109,7 @@ exedir = $(dir $(gitexecdir))share/git-gui/lib GITGUI_SCRIPT := $$0 GITGUI_RELATIVE := +GITGUI_MACOSXAPP := ifeq ($(exedir),$(gg_libdir)) GITGUI_RELATIVE := 1 @@ -116,8 +121,51 @@ ifeq ($(uname_O),Cygwin) gg_libdir := $(shell cygpath --windows --absolute "$(gg_libdir)") endif endif +ifeq ($(uname_S),Darwin) + ifeq ($(shell test -d $(TKFRAMEWORK) && echo y),y) + GITGUI_MACOSXAPP := YesPlease + endif +endif -$(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh +ifdef GITGUI_MACOSXAPP +GITGUI_MAIN := git-gui.tcl + +git-gui: GIT-VERSION-FILE GIT-GUI-VARS + $(QUIET_GEN)rm -f $@ $@+ && \ + echo '#!$(SHELL_PATH_SQ)' >$@+ && \ + echo 'if test "z$$*" = zversion ||' >>$@+ && \ + echo ' test "z$$*" = z--version' >>$@+ && \ + echo then >>$@+ && \ + echo ' 'echo \'git-gui version '$(GITGUI_VERSION)'\' >>$@+ && \ + echo else >>$@+ && \ + echo ' 'exec \''$(libdir_SQ)/Git Gui.app/Contents/MacOS/Wish'\' \ + '"$$0" "$$@"' >>$@+ && \ + echo fi >>$@+ && \ + chmod +x $@+ && \ + mv $@+ $@ + +Git\ Gui.app: GIT-VERSION-FILE GIT-GUI-VARS \ + macosx/Info.plist \ + macosx/git-gui.icns \ + macosx/AppMain.tcl \ + $(TKFRAMEWORK)/Contents/MacOS/Wish + $(QUIET_GEN)rm -rf '$@' '$@'+ && \ + mkdir -p '$@'+/Contents/MacOS && \ + mkdir -p '$@'+/Contents/Resources/Scripts && \ + cp '$(subst ','\'',$(TKFRAMEWORK))/Contents/MacOS/Wish' \ + '$@'+/Contents/MacOS && \ + cp macosx/git-gui.icns '$@'+/Contents/Resources && \ + sed -e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \ + macosx/Info.plist \ + >'$@'+/Contents/Info.plist && \ + sed -e 's|@@gitexecdir@@|$(gitexecdir_SQ)|' \ + -e 's|@@GITGUI_LIBDIR@@|$(libdir_SED)|' \ + macosx/AppMain.tcl \ + >'$@'+/Contents/Resources/Scripts/AppMain.tcl && \ + mv '$@'+ '$@' +endif + +$(GITGUI_MAIN): git-gui.sh GIT-VERSION-FILE GIT-GUI-VARS $(QUIET_GEN)rm -f $@ $@+ && \ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ -e '1,30s|^ argv0=$$0| argv0=$(GITGUI_SCRIPT)|' \ @@ -125,13 +173,10 @@ $(patsubst %.sh,%,$(SCRIPT_SH)) : % : %.sh -e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \ -e 's|@@GITGUI_RELATIVE@@|$(GITGUI_RELATIVE)|' \ -e '$(GITGUI_RELATIVE)s|@@GITGUI_LIBDIR@@|$(libdir_SED)|' \ - $@.sh >$@+ && \ + git-gui.sh >$@+ && \ chmod +x $@+ && \ mv $@+ $@ -$(GITGUI_BUILT_INS): git-gui - $(QUIET_BUILT_IN)rm -f $@ && ln git-gui $@ - XGETTEXT ?= xgettext ifdef NO_MSGFMT MSGFMT ?= $(TCL_PATH) po/po2msg.sh @@ -152,7 +197,7 @@ update-po:: $(PO_TEMPLATE) $(ALL_MSGFILES): %.msg : %.po $(QUIET_MSGFMT0)$(MSGFMT) --statistics --tcl $< -l $(basename $(notdir $<)) -d $(dir $@) $(QUIET_MSGFMT1) -lib/tclIndex: $(ALL_LIBFILES) +lib/tclIndex: $(ALL_LIBFILES) GIT-GUI-VARS $(QUIET_INDEX)if echo \ $(foreach p,$(PRELOAD_FILES),source $p\;) \ auto_mkindex lib '*.tcl' \ @@ -166,16 +211,13 @@ lib/tclIndex: $(ALL_LIBFILES) echo >>$@ ; \ fi -# These can record GITGUI_VERSION -$(patsubst %.sh,%,$(SCRIPT_SH)): GIT-VERSION-FILE GIT-GUI-VARS -lib/tclIndex: GIT-GUI-VARS - TRACK_VARS = \ $(subst ','\'',SHELL_PATH='$(SHELL_PATH_SQ)') \ $(subst ','\'',TCL_PATH='$(TCL_PATH_SQ)') \ $(subst ','\'',TCLTK_PATH='$(TCLTK_PATH_SQ)') \ $(subst ','\'',gitexecdir='$(gitexecdir_SQ)') \ $(subst ','\'',gg_libdir='$(libdir_SQ)') \ + GITGUI_MACOSXAPP=$(GITGUI_MACOSXAPP) \ #end TRACK_VARS GIT-GUI-VARS: .FORCE-GIT-GUI-VARS @@ -185,7 +227,10 @@ GIT-GUI-VARS: .FORCE-GIT-GUI-VARS echo 1>$@ "$$VARS"; \ fi -all:: $(ALL_PROGRAMS) lib/tclIndex $(ALL_MSGFILES) +ifdef GITGUI_MACOSXAPP +all:: git-gui Git\ Gui.app +endif +all:: $(GITGUI_MAIN) lib/tclIndex $(ALL_MSGFILES) install: all $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(INSTALL_D1) @@ -194,6 +239,10 @@ install: all $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(INSTALL_D1) $(QUIET)$(INSTALL_R0)lib/tclIndex $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' $(QUIET)$(INSTALL_R0)lib/git-gui.ico $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' +ifdef GITGUI_MACOSXAPP + $(QUIET)$(INSTALL_A0)'Git Gui.app' $(INSTALL_A1) '$(DESTDIR_SQ)$(libdir_SQ)' + $(QUIET)$(INSTALL_X0)git-gui.tcl $(INSTALL_X1) '$(DESTDIR_SQ)$(libdir_SQ)' +endif $(QUIET)$(foreach p,$(ALL_LIBFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' &&) true $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(INSTALL_D1) $(QUIET)$(foreach p,$(ALL_MSGFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true @@ -205,6 +254,10 @@ uninstall: $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(libdir_SQ)' $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/tclIndex $(REMOVE_F1) $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/git-gui.ico $(REMOVE_F1) +ifdef GITGUI_MACOSXAPP + $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)/Git Gui.app' $(REMOVE_F1) + $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/git-gui.tcl $(REMOVE_F1) +endif $(QUIET)$(foreach p,$(ALL_LIBFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(msgsdir_SQ)' $(QUIET)$(foreach p,$(ALL_MSGFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(msgsdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true @@ -218,8 +271,11 @@ dist-version: @echo $(GITGUI_VERSION) > $(TARDIR)/version clean:: - rm -f $(ALL_PROGRAMS) lib/tclIndex po/*.msg - rm -f GIT-VERSION-FILE GIT-GUI-VARS + $(RM_RF) $(GITGUI_MAIN) lib/tclIndex po/*.msg + $(RM_RF) GIT-VERSION-FILE GIT-GUI-VARS +ifdef GITGUI_MACOSXAPP + $(RM_RF) 'Git Gui.app'* git-gui +endif .PHONY: all install uninstall dist-version clean .PHONY: .FORCE-GIT-VERSION-FILE diff --git a/macosx/AppMain.tcl b/macosx/AppMain.tcl new file mode 100644 index 0000000000..41ca08e2b7 --- /dev/null +++ b/macosx/AppMain.tcl @@ -0,0 +1,22 @@ +set gitexecdir {@@gitexecdir@@} +set gitguilib {@@GITGUI_LIBDIR@@} +set env(PATH) "$gitexecdir:$env(PATH)" + +if {[string first -psn [lindex $argv 0]] == 0} { + lset argv 0 [file join $gitexecdir git-gui] +} + +if {[file tail [lindex $argv 0]] eq {gitk}} { + set argv0 [file join $gitexecdir gitk] + set AppMain_source $argv0 +} else { + set argv0 [file join $gitexecdir [file tail [lindex $argv 0]]] + set AppMain_source [file join $gitguilib git-gui.tcl] + if {[pwd] eq {/}} { + cd $env(HOME) + } +} + +unset gitexecdir gitguilib +set argv [lrange $argv 1 end] +source $AppMain_source diff --git a/macosx/Info.plist b/macosx/Info.plist new file mode 100644 index 0000000000..99913ec57a --- /dev/null +++ b/macosx/Info.plist @@ -0,0 +1,28 @@ + + + + + CFBundleDevelopmentRegion + English + CFBundleExecutable + Wish + CFBundleGetInfoString + Git Gui @@GITGUI_VERSION@@ © 2006-2007 Shawn Pearce, et. al. + CFBundleIconFile + git-gui.icns + CFBundleIdentifier + cz.or.repo.git-gui + CFBundleInfoDictionaryVersion + 6.0 + CFBundleName + Git Gui + CFBundlePackageType + APPL + CFBundleShortVersionString + @@GITGUI_VERSION@@ + CFBundleSignature + GITg + CFBundleVersion + @@GITGUI_VERSION@@ + + diff --git a/macosx/git-gui.icns b/macosx/git-gui.icns new file mode 100644 index 0000000000000000000000000000000000000000..77d88a77a7669667335cf6fd5767c8b40f3ce6e7 GIT binary patch literal 28866 zcmeHP4O~>^nt#p=2y%5T_jlc}63a@{yjiYES8sx8l*`r3bSS{u2t2L5Yu9oH5|2gx)IfpX?!;ILidHnHy zJYWCk{W$M=&wHGspO!k4D1E1X+RQ#g^f+hajNLADyWq;{LKteUe_;(SzAIPC^)m-Q zNW>k@C5<`e$pSIWqwoQvMm-u6GiuaRW(uD^c5Hl1?AWnW^ISUFlT-7ER+)RyI5W{^ zb3KJvNL%=@*=+1Zi74Kkw)TLL(Oe6K&Cy33U~jWCa1_Dz(LuJgBo*aYcATOkXdOej zA}!+qq93MbLcP0=84OG}XaR*z&reCoOE(chTUC7?p&>NSG2oHX$J+Ul1bn{`y>mRb!5(Q3&e=^FSJcutwL^7{8|b0v*=OXv1`jX*lKw zD3U+mC^%DD{dT*(iN9*M?{W%z*42H;U#hFCXf~1QgWY}8D-z*u2mQs#>diaoh_lZ9 zrpJR1>U6sCE|dHJw`@LC{>LT%@Y0L(`DH(*JL{3Wk>>H;%Fj9LQT$8PIg(cL&bsz& z!|yP>7d~~?>G^BC-Om3s(N(9oZB6I5KPFb6cyuhT5%hz02g&|;o;c?pA(zPnU5Q-K z6R9)uKj3d3{(ibf^v!2PjfaS9+)G?T7*Rtvq6_%D5=E2^x$rmQ3Q@NUUj26jzCJ~` z#zU+HM8l0Sl(f=AzLcoHX$-|dXB6@oR`i55hNepLH6}(=ARmML&(K%(w~CA_h==qp zYau-c>nYZHic`stT6fcwB@~i)D1pk&MfBxj3N@7K7$Xa#l10Q-6y-1yDrJj^F6J;U zld!C08W~qL*h*m|W->N=RRwsVeFy7VVihnNp-^WOSg~}3v87fDS;p8)%t+x$Ot+2d z7)!E}R^a7O=m#G?LR4a8&?;way1_y;U8sfDCNZ`Pi<8#O*i3*I19M|t4#s;W06su$ znR;O8X3U$Hrh_bH+hU@qe8weBUIN){3*%uO! zK_%~R%_jS=Y6NB*`2zIV0BbyDNb;{tb0`J!$;h`uU)2x% zzhbPU0g%U9pQO34f7?2c9#zRFf_K-iX9QBjdsB$>-sD(XX)x{xCC;*1cKzfJ)eF=B z{0m|U7qN_D9Je!fS}v0kwI=VoMxb|KUoV!hnyJwBYo7z`x5>%LF)Fx3eG26?MWNMN z`}~!6>LI6pQs4{K{xA2UlJ^{x+Cm=o+BN=h`q4Q;%JCs>B_z%AwMzSB!Em%-{|O5D zp$d7(NuK|BgjSIEe)>E9%I_8OJ}|lqJjkPH4$r@%kfVQ&3#`lhPq)%tJb&4P{O+Lx ziEe{4h5QegnAlu6D6XZv>;LgQHk2Z9yLkSjv+T~+!^S2=NPX6!h+B}H?!5%=wNnQV ze(@6uO}EOWs6C6Ox#;r0wGb1H{>UZ%_+b?>HXf7K965XXNZG%;8v-@`v?T1!G>>D0 z)F4=SO{35YxVw5tyYal>!m9@X0xF`WCqE9pL(`eg6mYq3g;Xo1VXkxsynQR+cH4DI zNOMmK5#}~Fr#Ur3*~q!mZbmK2-FAp69?^)x#CWtk4{u0~z;et0Ve<&%D?;kMU82-` zi+<7lqfZj{wqcX-Omf5&LnUuI^3~2-7`HBBIdQevy@u*Csw(Jk4$}>vjSE^bKa zgrP$>!CNzTTp@N)qK@EkM*(p|3}Uqr$Z3fSiQ9v?DHCC4&ljEx%7v%=+9bh!G0qZ9 zOp|fef|G;3dy*keT!f}4XPX(N8y9m{gPCzlMxgNh5VQ^SJvHpjQS$Fd>{#wh6xZ>hz67mBW|Gl<&TJ0r2 zX{n_7(9b|V8}?Ehw_gcR{Liutq$zF4D{K>~I=H(1JXg0Q z@hPoyIH^!PFHn+-M4jc(PgEDGa686-z~dR?JPF->OzfW%uIdXaO%zyDMYWd6+_RWWYk5{|ndEz^Prn&7~D|8(o(9Nx>MU7Xdz8(z!(dUn^ z@prjHoo@2bKTftrgQv_}dNxy-H~mh}yz`e3n$YxZGbMY`pM-1uR5;C*Ud5iSUxe}e z_fTxR{zT!?T&aIm?`z4K{7y{rf1 zVteoB{`CwvpZD}&fWr=+uN8aSp-=SO5AcAum#Xxvpr0a&T>269VC_}acCMd}^N2L4 zUA+f-6@rh}^~2*QOc*ApwW|L|nKSNPFaE{&7s&K)`O1ra&#MrA(O+s{5=O-RW=kqT zS@So+*{4D?9i({}XFp!fO%nwv-#|qoUG@udp8xU8rcIkRep1VF=m@o?Z!inZqk{05xD75+W%JVd-I!;#)$_%dU93+>wsNJkP=02{vdLmQp zG*Mx5Q_S3|D*NfGs=U#7d8Z`(Ea7zF=6Hc$Ni?o7hE|-vLHS2iTuO0>;6+<0g;deD z7-E4-ix-Q&6Ksp=%tsyH!mPrnbcQG4-yzzzl=Ns>Jv|rjG?jjEpzySpj0seWSNNs7 z*1XJ_pFBXCNc$O_aM&Ko#c02ZmyY|vy2+f&aJ+{TOM&xO(kzck!wX3_2d{rG=I2Qm zdx-YqG{&v48*eTPB=udS8S!zFoI_`=5{(+t3~toRIh48Bsj-%E%kSJloWbVetYS3G zm`7V{h(0KCYJoSXmN-jRGlMh4?IN<{#3O5((4Ksz-DeoQ5IB~dM21C7^V+2c%%ULl zAkooFI0vD3YlwSaSHQHXIgQa+-e5%sb4ar~Cv_p-h$dGPl@%~9IboqwmP=ehGTOg! zJ8_Frpff!Vht8rIeBTGjyzNAB5Ev%okjE+DVzcq?RG(QTiYOZ|#YBmPxXUvESq4ER zY#Utygt8G9mXd9RD5dO1sKsp~q{s2zR`jxfxQHxx*(2RomspqiROa4{d>t>6bpo~!{OhnTK$$WT^oyvO#TxpE{`4Ag>8Y-&CUIZs ztC+BF!K!H+ag*nuQ1dGOV@V;}j4r}ZXcCVMUQJwN8b&2Cp^CWBLosnNlmyD@P&_54g`ebgxTk&1QtunmFIMec4qWbr6KDV2=lAL!LR~fknM~%5} zGpgN(L&*6X7`NWAA20Z`-(qy2j<~+2b&S>@B2DeG^f#Esc+hZ|xV%lTGmW8s?orYj zEJbN+nIf$&@E*l$%f;bhI~$%t!1kgG3~svGRs+_(%d+0 zDq}^taa3L@tlv$A)wCb$_YKLhe&gLfBDlxaKsRA!tEM4=ON%$q$MD?~r+)8a{qE=% zCKmRh_ucFF06LA9Mbk3@PjTl9uHV7++p(<6mt|F6aQ*%zt>4cV##1HM?;Db1{jQ>k zh+w9zN?f_)=}%bS0+bf7qo?6J&9;uZWBu;v7A`8xpziMVyNPnqvVp>uBEV@j9SW}B z!S!2ptroZHiZwmBe*a?D?^)tIrI>K#8A}`M;_+AWageuT**1FgO)ZGu-1#U4``@?e zb1?Qin2ZGn%^|{PEdi}Lue|Z%$x^DMbj{^`CbVv`} z?;qXnZ;+BTu02J+_n++nmDmLF{hR=jzHCo1*#E))_p1lmGwCEY!TIM`@89_I2gz8r zr|9?iPxg-<^0WJc=D{A2_W;+cSFf&4R=D|)ciQ>Sa$~=15r%YJh8vu}WGZU)lJxuf zlSLfy!cGU`9S-()9g5%M*|RRZ8-br(qS+-M?f*7#)umO{#(z;){pj8!Zx%E|EZB9N2>gW)Atw( zTEMqy{!R29N!6mC@Uv$HwWa^<<5b=G%rq#lQ9brA4lmO6-x&7vR=MWYem-NV8QA4s zdA?NtJExu$e;!dMeVt4fA7%2N76~81Yo;&v_U!C-s=&v`koSJstjb@tb#be)M4WH5w;%XIFf1Pz^uI`MY(| z?z_=aU+pQ&@b@b`sNvI{CnX{Kz5kMJ@%pp{pKKERn%fj6zE&l^c)o4;eWW(>3F9le z{Q37KPGPUw{}k!?lyUbbKLZmKSwrua$_J`&=EZrv_# zzTf*Vd?7{d@uyi{;AicYEAs)se?;N(+K&^RkAKQQqOHOgqoiclD0O_V50^T0l=qaB zM73}y*4v{eOD!rEd82#jYZ+_3d_ zyKIN=M*qhC(y&`RTLw_FaP5D&QJsalwQB=&-rBY>!^eq)y>_LebWhvtT4?=06H+3y literal 0 HcmV?d00001 From 0b2bc460fc69d2aa4f5af743b2b2317088e53949 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 27 Sep 2007 02:15:29 -0400 Subject: [PATCH 72/91] git-gui: Refer to ourselves as "Git Gui" and not "git-gui" When displaying the name of the application in window titles and menu options (e.g. "About [appname]") we would prefer to call ourselves "Git Gui" over "git-gui" as the former name is now being actively used in the Mac OS X UI strings and just plain looks better to the reader. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 843191a896..82f873bdcd 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -108,7 +108,7 @@ unset oguimsg ## ## read only globals -set _appname [lindex [file split $argv0] end] +set _appname {Git Gui} set _gitdir {} set _gitexec {} set _reponame {} @@ -789,7 +789,7 @@ unset -nocomplain idx fd ## ## feature option selection -if {[regexp {^git-(.+)$} [appname] _junk subcommand]} { +if {[regexp {^git-(.+)$} [file tail $argv0] _junk subcommand]} { unset _junk } else { set subcommand gui @@ -2140,7 +2140,8 @@ citool - gui { if {[llength $argv] != 0} { puts -nonewline stderr "usage: $argv0" - if {$subcommand ne {gui} && [appname] ne "git-$subcommand"} { + if {$subcommand ne {gui} + && [file tail $argv0] ne "git-$subcommand"} { puts -nonewline stderr " $subcommand" } puts stderr {} From 501e4c6f23378aca2ce14ba4bc3eebeccb92e8d7 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 2 Oct 2007 12:24:44 -0400 Subject: [PATCH 73/91] git-gui: Allow gitk to be started on Cygwin with native Tcl/Tk gitk expects $env(GIT_DIR) to be valid as both a path that core Git and Tcl/Tk can resolve to a valid directory, but it has no special handling for Cygwin style UNIX paths and Windows style paths. So we need to do that for gitk and ensure that only relative paths are fed to it, thus allowing both Cygwin style and UNIX style paths to be resolved. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/git-gui.sh b/git-gui.sh index c8375029dd..9682418e12 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1468,7 +1468,27 @@ proc do_gitk {revs} { if {! [file exists $exe]} { error_popup "Unable to start gitk:\n\n$exe does not exist" } else { + global env + + if {[info exists env(GIT_DIR)]} { + set old_GIT_DIR $env(GIT_DIR) + } else { + set old_GIT_DIR {} + } + + set pwd [pwd] + cd [file dirname [gitdir]] + set env(GIT_DIR) [file tail [gitdir]] + eval exec $cmd $revs & + + if {$old_GIT_DIR eq {}} { + unset env(GIT_DIR) + } else { + set env(GIT_DIR) $old_GIT_DIR + } + cd $pwd + ui_status $::starting_gitk_msg after 10000 { ui_ready $starting_gitk_msg From 906ab7f6c03764423adef6c0e4d77442405adc23 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 2 Oct 2007 12:27:32 -0400 Subject: [PATCH 74/91] git-gui: Don't crash when starting gitk from a browser session If the user has started git-gui from the command line as a browser we offer the gitk menu options but we didn't create the main status bar widget in the "." toplevel. Trying to access it while starting gitk just results in Tcl errors. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 9682418e12..cf88a0d824 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1125,11 +1125,17 @@ proc mapdesc {state path} { } proc ui_status {msg} { - $::main_status show $msg + global main_status + if {[info exists main_status]} { + $main_status show $msg + } } proc ui_ready {{test {}}} { - $::main_status show {Ready.} $test + global main_status + if {[info exists main_status]} { + $main_status show [mc "Ready."] $test + } } proc escape_path {path} { From 1952aa1d5735ccbedd832620e43db3e03fc77088 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 2 Oct 2007 12:52:22 -0400 Subject: [PATCH 75/91] git-gui: Allow forced push into remote repository Some workflows allow the user to forcefully update a remote branch, such as in a "proposed updates" (aka "pu") branch where the branch is rewound and rebuilt on a daily basis against the current master branch. In such a case the "--force" or leading + must be used to make git-push execute anyway, even though it may be discarding one or more commits on the remote side. Signed-off-by: Shawn O. Pearce --- lib/transport.tcl | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/lib/transport.tcl b/lib/transport.tcl index 3b05b8fc2c..8e6a9d0a60 100644 --- a/lib/transport.tcl +++ b/lib/transport.tcl @@ -32,6 +32,7 @@ proc push_to {remote} { proc start_push_anywhere_action {w} { global push_urltype push_remote push_url push_thin push_tags + global push_force set r_url {} switch -- $push_urltype { @@ -45,6 +46,9 @@ proc start_push_anywhere_action {w} { if {$push_thin} { lappend cmd --thin } + if {$push_force} { + lappend cmd --force + } if {$push_tags} { lappend cmd --tags } @@ -76,6 +80,7 @@ trace add variable push_remote write \ proc do_push_anywhere {} { global all_remotes current_branch global push_urltype push_remote push_url push_thin push_tags + global push_force set w .push_setup toplevel $w @@ -151,6 +156,10 @@ proc do_push_anywhere {} { pack $w.dest -anchor nw -fill x -pady 5 -padx 5 labelframe $w.options -text [mc "Transfer Options"] + checkbutton $w.options.force \ + -text [mc "Force overwrite existing branch (may discard changes)"] \ + -variable push_force + grid $w.options.force -columnspan 2 -sticky w checkbutton $w.options.thin \ -text [mc "Use thin pack (for slow network connections)"] \ -variable push_thin @@ -163,6 +172,7 @@ proc do_push_anywhere {} { pack $w.options -anchor nw -fill x -pady 5 -padx 5 set push_url {} + set push_force 0 set push_thin 0 set push_tags 0 From 96f11953c0b0b9b0a0c75fb98bdf239dce5ff582 Mon Sep 17 00:00:00 2001 From: Steffen Prohaska Date: Sat, 6 Oct 2007 15:27:22 +0200 Subject: [PATCH 76/91] git-gui: accept versions containing text annotations, like 1.5.3.mingw.1 This commit teaches git-gui to accept versions with annotations that start with text and optionally end with a dot followed by a number. This is needed by the current versioning scheme of msysgit, which uses versions like 1.5.3.mingw.1. However, the changes is not limited to this use case. Any version of the form .. would be parsed and only the starting used for validation. [sp: Minor edit to remove unnecessary group matching] Signed-off-by: Steffen Prohaska Signed-off-by: Shawn O. Pearce --- git-gui.sh | 1 + 1 file changed, 1 insertion(+) diff --git a/git-gui.sh b/git-gui.sh index cf88a0d824..9335a9761b 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -538,6 +538,7 @@ regsub -- {-dirty$} $_git_version {} _git_version regsub {\.[0-9]+\.g[0-9a-f]+$} $_git_version {} _git_version regsub {\.rc[0-9]+$} $_git_version {} _git_version regsub {\.GIT$} $_git_version {} _git_version +regsub {\.[a-zA-Z]+\.[0-9]+$} $_git_version {} _git_version if {![regexp {^[1-9]+(\.[0-9]+)+$} $_git_version]} { catch {wm withdraw .} From 281fdf6921abb11a90a890c09ccce61453050415 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 5 Oct 2007 08:35:41 -0400 Subject: [PATCH 77/91] git-gui: Refactor Henrik Nyh's logo into its own procedure By moving the logo into its own procedure we can use it in multiple locations within the UI, but still load it only if the logo is going to be used by the application. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 39 +---------------------------------- lib/logo.tcl | 43 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 44 insertions(+), 38 deletions(-) create mode 100644 lib/logo.tcl diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 16bf67c34f..5d5bc81ad0 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -3,38 +3,6 @@ class choose_repository { -# Henrik Nyh's alternative Git logo, from his blog post -# http://henrik.nyh.se/2007/06/alternative-git-logo-and-favicon -# -image create photo ::choose_repository::git_logo -data { -R0lGODdhYQC8AIQbAGZmZtg4LW9vb3l5eYKCgoyMjEC/TOJpYZWVlZ+fn2/PeKmpqbKysry8vMXF -xZ/fpc/Pz7fnvPXNytnZ2eLi4s/v0vja1+zs7Of36fX19f3z8v///////////////////ywAAAAA -YQC8AAAF/uAmjmRpnmiqrmzrvq4hz3RtGw+s7zx5/7dcb0hUAY8zYXHJRCKVzGjPeYRKry8q0Irt -GrVBr3gFDo/PprKNix6ra+y2902Ly7H05L2dl9n3UX04gGeCf4RFhohiiotdjY5XkJGBfYeUOpOY -iZablXmXURgPpKWmp6ipqYIKqq6vqREjFYK1trUKs7e7vFq5IrS9wsM0vxvBxMm8xsjKzqy6z9J5 -zNPWatXX2k7Z29433d/iMuHj3+Xm2+jp1+vs0+7vz/HyyvT1xPf4wvr7y9H+pBkbBasgLFYGE8ba -o8nTlE4OOYGKKJFOKIopGmLMAnHjDo0eWYAM+WUiSRgj/k+eSKmyBMuWI17C3CATZs2WN1XmPLmT -ZM+QPz0G3VihqNGjSJNWwDCzqdOnUKPu0SChqtWrWLNq3cq1q9evYCVYGCEhgNmzaNOqXcu2rdu3 -cOMGOEBWrt27ePPCpSuirN6/gAO35bvBr+DDiPMSNpy4sWO2ix9Lnmw2MuXLiS1j3gxYM+fPdz2D -Hv1WNOnTak2jXj23LuvXlV3DZq16Nujatjnjzo15N2/Kvn9LDi7cMfHimaUqX868ufPn0KPPpOCA -AQMWCQBo3869u/fv4MNrd3DlQoMC3QlkSJFdvPv38LVDWJLBAYHwE1LE38+/+/UhGTAggHv5odDf -gfv9/seDgPAVeAKCELqnIAwU3BefgyZEqOF3E7rAQH8YlrDhiNt1uEIG6IGoH4kjmpjCBRaqaCCL -G7p4AgUDIhgiCTTW2AKOEe44Qo8a2khCBgNoKKQIREZopAgZxAjhkhs0CeGTG7Sn5IpW9vekAyRS -2eWBRl6Q44ZijhlfAQlQmeKIaarpHZsMTHABCxDQGKec3JH3QpIs7snndn6yAKaeXA7aZwuABppo -fAws0GiEhaKQJ40F3DkjfwVC8CaCAlCgAgIkJjDfCgdiOMGn/Q2w3gkZtPgqC6ma0ECECaBwa4QE -aOpCrSYAqeMJpEKYqw7ABnsmfwQ8aCwPySqLYKUb/kwAYbPQyoiCtQcOUMKHBwrgK7LaogBuuaxC -OkS0KEwa37EiLBufALPuwO4Jh/InwAixkknEvSe4C9+p3PY3rr3lpnDufguIcCmzRQAc7IHYLhxf -w/8mnILA74lg8cARa4xCsZxusMCBomZccgsfv0deuh2HvLKh/sLs3hJSvieuCwUzvIHN4tGXc3ih -vtDzmj8fSNLR8BWQdH9LH+g00OFF3d/UBx4cUcvuOc21eFRiouV+Xvvr0dDvlX21R/2uzTR89TqU -L3+5UoBgAxtRHd5/CHpLkd13i4D2e3hHRLKMY+9Hr0Nvx/fq3Pw57cng7/m9wQVObnIyhAiQwHF8 -/tQS8nDgI2wOYeh3CAvhuIBHiDEgqvdtwudkaz3GBPKaTcKuGgqAJRMZmK6h1hnk3ncDcUvhgPFS -o5B476ZKQcECzCN4qgmYN4lAncmzcAEEkhJp+QlfkyhAAdtbN8H67FvHQAF6b4g6v9UryqfkKkBu -v/0prxD//kR63YnqB8AeqcdoBRxU/1zAuwRaaX4reJ4DSSRAHUhwgrgqwgUx2B94EWGDHISPBzUY -QgSNcAn6K6F4fscDCtBOhdoRwPW6kIHDwZA7vWoDBF44Qd/tIUAEBCACbIeG4AXxfmFrQ4B4OCYE -JBEQELChmgbAACJioj4JOCKCCLCABZ6EAg1IHwDlyLYAB1gRJhSYgHUQAD9WnQ9+CWBAA+wknTpC -JwQAOw== -} - field top field w field w_body ; # Widget holding the center content @@ -92,12 +60,7 @@ constructor pick {} { bind $top [list destroy $top] } - label $w.git_logo \ - -borderwidth 1 \ - -relief sunken \ - -background white \ - -image ::choose_repository::git_logo - pack $w.git_logo -side left -fill y -padx 10 -pady 10 + pack [git_logo $w.git_logo] -side left -fill y -padx 10 -pady 10 set w_body $w.body frame $w_body diff --git a/lib/logo.tcl b/lib/logo.tcl new file mode 100644 index 0000000000..5ff76692f5 --- /dev/null +++ b/lib/logo.tcl @@ -0,0 +1,43 @@ +# git-gui Git Gui logo +# Copyright (C) 2007 Shawn Pearce + +# Henrik Nyh's alternative Git logo, from his blog post +# http://henrik.nyh.se/2007/06/alternative-git-logo-and-favicon +# +image create photo ::git_logo_data -data { +R0lGODdhYQC8AIQbAGZmZtg4LW9vb3l5eYKCgoyMjEC/TOJpYZWVlZ+fn2/PeKmpqbKysry8vMXF +xZ/fpc/Pz7fnvPXNytnZ2eLi4s/v0vja1+zs7Of36fX19f3z8v///////////////////ywAAAAA +YQC8AAAF/uAmjmRpnmiqrmzrvq4hz3RtGw+s7zx5/7dcb0hUAY8zYXHJRCKVzGjPeYRKry8q0Irt +GrVBr3gFDo/PprKNix6ra+y2902Ly7H05L2dl9n3UX04gGeCf4RFhohiiotdjY5XkJGBfYeUOpOY +iZablXmXURgPpKWmp6ipqYIKqq6vqREjFYK1trUKs7e7vFq5IrS9wsM0vxvBxMm8xsjKzqy6z9J5 +zNPWatXX2k7Z29433d/iMuHj3+Xm2+jp1+vs0+7vz/HyyvT1xPf4wvr7y9H+pBkbBasgLFYGE8ba +o8nTlE4OOYGKKJFOKIopGmLMAnHjDo0eWYAM+WUiSRgj/k+eSKmyBMuWI17C3CATZs2WN1XmPLmT +ZM+QPz0G3VihqNGjSJNWwDCzqdOnUKPu0SChqtWrWLNq3cq1q9evYCVYGCEhgNmzaNOqXcu2rdu3 +cOMGOEBWrt27ePPCpSuirN6/gAO35bvBr+DDiPMSNpy4sWO2ix9Lnmw2MuXLiS1j3gxYM+fPdz2D +Hv1WNOnTak2jXj23LuvXlV3DZq16Nujatjnjzo15N2/Kvn9LDi7cMfHimaUqX868ufPn0KPPpOCA +AQMWCQBo3869u/fv4MNrd3DlQoMC3QlkSJFdvPv38LVDWJLBAYHwE1LE38+/+/UhGTAggHv5odDf +gfv9/seDgPAVeAKCELqnIAwU3BefgyZEqOF3E7rAQH8YlrDhiNt1uEIG6IGoH4kjmpjCBRaqaCCL +G7p4AgUDIhgiCTTW2AKOEe44Qo8a2khCBgNoKKQIREZopAgZxAjhkhs0CeGTG7Sn5IpW9vekAyRS +2eWBRl6Q44ZijhlfAQlQmeKIaarpHZsMTHABCxDQGKec3JH3QpIs7snndn6yAKaeXA7aZwuABppo +fAws0GiEhaKQJ40F3DkjfwVC8CaCAlCgAgIkJjDfCgdiOMGn/Q2w3gkZtPgqC6ma0ECECaBwa4QE +aOpCrSYAqeMJpEKYqw7ABnsmfwQ8aCwPySqLYKUb/kwAYbPQyoiCtQcOUMKHBwrgK7LaogBuuaxC +OkS0KEwa37EiLBufALPuwO4Jh/InwAixkknEvSe4C9+p3PY3rr3lpnDufguIcCmzRQAc7IHYLhxf +w/8mnILA74lg8cARa4xCsZxusMCBomZccgsfv0deuh2HvLKh/sLs3hJSvieuCwUzvIHN4tGXc3ih +vtDzmj8fSNLR8BWQdH9LH+g00OFF3d/UBx4cUcvuOc21eFRiouV+Xvvr0dDvlX21R/2uzTR89TqU +L3+5UoBgAxtRHd5/CHpLkd13i4D2e3hHRLKMY+9Hr0Nvx/fq3Pw57cng7/m9wQVObnIyhAiQwHF8 +/tQS8nDgI2wOYeh3CAvhuIBHiDEgqvdtwudkaz3GBPKaTcKuGgqAJRMZmK6h1hnk3ncDcUvhgPFS +o5B476ZKQcECzCN4qgmYN4lAncmzcAEEkhJp+QlfkyhAAdtbN8H67FvHQAF6b4g6v9UryqfkKkBu +v/0prxD//kR63YnqB8AeqcdoBRxU/1zAuwRaaX4reJ4DSSRAHUhwgrgqwgUx2B94EWGDHISPBzUY +QgSNcAn6K6F4fscDCtBOhdoRwPW6kIHDwZA7vWoDBF44Qd/tIUAEBCACbIeG4AXxfmFrQ4B4OCYE +JBEQELChmgbAACJioj4JOCKCCLCABZ6EAg1IHwDlyLYAB1gRJhSYgHUQAD9WnQ9+CWBAA+wknTpC +JwQAOw== +} + +proc git_logo {w} { + label $w \ + -borderwidth 1 \ + -relief sunken \ + -background white \ + -image ::git_logo_data + return $w +} From 68099eeeed161fd1adf0822de1dcb388663fc686 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 5 Oct 2007 08:38:35 -0400 Subject: [PATCH 78/91] git-gui: Refactor about dialog code into its own module The about dialog is getting somewhat long in size and will probably only get more complex as I try to improve upon its display. As the options dialog is even more complex than the about dialog we move the about dialog into its own module to reduce the complexity of the option dialog module. Signed-off-by: Shawn O. Pearce --- lib/about.tcl | 80 ++++++++++++++++++++++++++++++++++++++++++++++++++ lib/option.tcl | 78 ------------------------------------------------ 2 files changed, 80 insertions(+), 78 deletions(-) create mode 100644 lib/about.tcl diff --git a/lib/about.tcl b/lib/about.tcl new file mode 100644 index 0000000000..b19738ecff --- /dev/null +++ b/lib/about.tcl @@ -0,0 +1,80 @@ +# git-gui about git-gui dialog +# Copyright (C) 2006, 2007 Shawn Pearce + +proc do_about {} { + global appvers copyright oguilib + global tcl_patchLevel tk_patchLevel + + set w .about_dialog + toplevel $w + wm geometry $w "+[winfo rootx .]+[winfo rooty .]" + + label $w.header -text [mc "About %s" [appname]] \ + -font font_uibold + pack $w.header -side top -fill x + + frame $w.buttons + button $w.buttons.close -text {Close} \ + -default active \ + -command [list destroy $w] + pack $w.buttons.close -side right + pack $w.buttons -side bottom -fill x -pady 10 -padx 10 + + label $w.desc \ + -text "[mc "git-gui - a graphical user interface for Git."]\n$copyright" \ + -padx 5 -pady 5 \ + -justify left \ + -anchor w \ + -borderwidth 1 \ + -relief solid + pack $w.desc -side top -fill x -padx 5 -pady 5 + + set v {} + append v "git-gui version $appvers\n" + append v "[git version]\n" + append v "\n" + if {$tcl_patchLevel eq $tk_patchLevel} { + append v "Tcl/Tk version $tcl_patchLevel" + } else { + append v "Tcl version $tcl_patchLevel" + append v ", Tk version $tk_patchLevel" + } + + set d {} + append d "git wrapper: $::_git\n" + append d "git exec dir: [gitexec]\n" + append d "git-gui lib: $oguilib" + + label $w.vers \ + -text $v \ + -padx 5 -pady 5 \ + -justify left \ + -anchor w \ + -borderwidth 1 \ + -relief solid + pack $w.vers -side top -fill x -padx 5 -pady 5 + + label $w.dirs \ + -text $d \ + -padx 5 -pady 5 \ + -justify left \ + -anchor w \ + -borderwidth 1 \ + -relief solid + pack $w.dirs -side top -fill x -padx 5 -pady 5 + + menu $w.ctxm -tearoff 0 + $w.ctxm add command \ + -label {Copy} \ + -command " + clipboard clear + clipboard append -format STRING -type STRING -- \[$w.vers cget -text\] + " + + bind $w "grab $w; focus $w.buttons.close" + bind $w "destroy $w" + bind $w "destroy $w" + bind_button3 $w.vers "tk_popup $w.ctxm %X %Y; grab $w; focus $w" + wm title $w "About [appname]" + tkwait window $w +} diff --git a/lib/option.tcl b/lib/option.tcl index 12e297971a..de6bd90edc 100644 --- a/lib/option.tcl +++ b/lib/option.tcl @@ -54,84 +54,6 @@ proc save_config {} { } } -proc do_about {} { - global appvers copyright oguilib - global tcl_patchLevel tk_patchLevel - - set w .about_dialog - toplevel $w - wm geometry $w "+[winfo rootx .]+[winfo rooty .]" - - label $w.header -text [mc "About %s" [appname]] \ - -font font_uibold - pack $w.header -side top -fill x - - frame $w.buttons - button $w.buttons.close -text {Close} \ - -default active \ - -command [list destroy $w] - pack $w.buttons.close -side right - pack $w.buttons -side bottom -fill x -pady 10 -padx 10 - - label $w.desc \ - -text "[mc "git-gui - a graphical user interface for Git."]\n$copyright" \ - -padx 5 -pady 5 \ - -justify left \ - -anchor w \ - -borderwidth 1 \ - -relief solid - pack $w.desc -side top -fill x -padx 5 -pady 5 - - set v {} - append v "git-gui version $appvers\n" - append v "[git version]\n" - append v "\n" - if {$tcl_patchLevel eq $tk_patchLevel} { - append v "Tcl/Tk version $tcl_patchLevel" - } else { - append v "Tcl version $tcl_patchLevel" - append v ", Tk version $tk_patchLevel" - } - - set d {} - append d "git wrapper: $::_git\n" - append d "git exec dir: [gitexec]\n" - append d "git-gui lib: $oguilib" - - label $w.vers \ - -text $v \ - -padx 5 -pady 5 \ - -justify left \ - -anchor w \ - -borderwidth 1 \ - -relief solid - pack $w.vers -side top -fill x -padx 5 -pady 5 - - label $w.dirs \ - -text $d \ - -padx 5 -pady 5 \ - -justify left \ - -anchor w \ - -borderwidth 1 \ - -relief solid - pack $w.dirs -side top -fill x -padx 5 -pady 5 - - menu $w.ctxm -tearoff 0 - $w.ctxm add command \ - -label {Copy} \ - -command " - clipboard clear - clipboard append -format STRING -type STRING -- \[$w.vers cget -text\] - " - - bind $w "grab $w; focus $w.buttons.close" - bind $w "destroy $w" - bind $w "destroy $w" - bind_button3 $w.vers "tk_popup $w.ctxm %X %Y; grab $w; focus $w" - wm title $w "About [appname]" - tkwait window $w -} - proc do_options {} { global repo_config global_config font_descs global repo_config_new global_config_new From 51e1eadb7cd9c8b1943fdc62fe28535bfc032fc6 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 5 Oct 2007 20:15:10 -0400 Subject: [PATCH 79/91] git-gui: Include our Git logo in the about dialog Most applications tend to have some sort of pretty image in the about dialog, because it spruces the screen up a little bit and makes the user happy about reading the information shown there. We already have a logo in the repository selection wizard so we can easily reuse this in the about dialog. Signed-off-by: Shawn O. Pearce --- lib/about.tcl | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/about.tcl b/lib/about.tcl index b19738ecff..719fc547b3 100644 --- a/lib/about.tcl +++ b/lib/about.tcl @@ -9,6 +9,7 @@ proc do_about {} { toplevel $w wm geometry $w "+[winfo rootx .]+[winfo rooty .]" + pack [git_logo $w.git_logo] -side left -fill y -padx 10 -pady 10 label $w.header -text [mc "About %s" [appname]] \ -font font_uibold pack $w.header -side top -fill x From 1cad232f92794834c8e70dfc0a1f35431d2c05cd Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sun, 7 Oct 2007 18:12:31 -0700 Subject: [PATCH 80/91] git-gui: Use progress meter in the status bar during index updates If we are updating the index to stage or unstage changes or reverting files in the working directory we can use the progress handling parts of our status bar to perform this display work, reducing the amount of code duplication we have in the index handling module. Unfortunately the status bar is still a strict approximation as it is unable to know when git-update-index has processed the data we fed to it. The progress bar is actually a progress of the pipe buffer filling up in the OS, not of the actual work done. Still, it tells the user we are working and that has some value. Signed-off-by: Shawn O. Pearce --- lib/index.tcl | 54 ++++++++++++--------------------------------------- 1 file changed, 12 insertions(+), 42 deletions(-) diff --git a/lib/index.tcl b/lib/index.tcl index 47255261d2..9e04f2b682 100644 --- a/lib/index.tcl +++ b/lib/index.tcl @@ -12,12 +12,7 @@ proc update_indexinfo {msg pathList after} { set batch [expr {int($totalCnt * .01) + 1}] if {$batch > 25} {set batch 25} - ui_status [format \ - "%s... %i/%i files (%.2f%%)" \ - $msg \ - $update_index_cp \ - $totalCnt \ - 0.0] + $::main_status start $msg [mc "files"] set fd [git_write update-index -z --index-info] fconfigure $fd \ -blocking 0 \ @@ -31,18 +26,18 @@ proc update_indexinfo {msg pathList after} { $pathList \ $totalCnt \ $batch \ - $msg \ $after \ ] } -proc write_update_indexinfo {fd pathList totalCnt batch msg after} { +proc write_update_indexinfo {fd pathList totalCnt batch after} { global update_index_cp global file_states current_diff_path if {$update_index_cp >= $totalCnt} { close $fd unlock_index + $::main_status stop uplevel #0 $after return } @@ -68,12 +63,7 @@ proc write_update_indexinfo {fd pathList totalCnt batch msg after} { display_file $path $new } - ui_status [format \ - "%s... %i/%i files (%.2f%%)" \ - $msg \ - $update_index_cp \ - $totalCnt \ - [expr {100.0 * $update_index_cp / $totalCnt}]] + $::main_status update $update_index_cp $totalCnt } proc update_index {msg pathList after} { @@ -87,12 +77,7 @@ proc update_index {msg pathList after} { set batch [expr {int($totalCnt * .01) + 1}] if {$batch > 25} {set batch 25} - ui_status [format \ - "%s... %i/%i files (%.2f%%)" \ - $msg \ - $update_index_cp \ - $totalCnt \ - 0.0] + $::main_status start $msg [mc "files"] set fd [git_write update-index --add --remove -z --stdin] fconfigure $fd \ -blocking 0 \ @@ -106,18 +91,18 @@ proc update_index {msg pathList after} { $pathList \ $totalCnt \ $batch \ - $msg \ $after \ ] } -proc write_update_index {fd pathList totalCnt batch msg after} { +proc write_update_index {fd pathList totalCnt batch after} { global update_index_cp global file_states current_diff_path if {$update_index_cp >= $totalCnt} { close $fd unlock_index + $::main_status stop uplevel #0 $after return } @@ -147,12 +132,7 @@ proc write_update_index {fd pathList totalCnt batch msg after} { display_file $path $new } - ui_status [format \ - "%s... %i/%i files (%.2f%%)" \ - $msg \ - $update_index_cp \ - $totalCnt \ - [expr {100.0 * $update_index_cp / $totalCnt}]] + $::main_status update $update_index_cp $totalCnt } proc checkout_index {msg pathList after} { @@ -166,12 +146,7 @@ proc checkout_index {msg pathList after} { set batch [expr {int($totalCnt * .01) + 1}] if {$batch > 25} {set batch 25} - ui_status [format \ - "%s... %i/%i files (%.2f%%)" \ - $msg \ - $update_index_cp \ - $totalCnt \ - 0.0] + $::main_status start $msg [mc "files"] set fd [git_write checkout-index \ --index \ --quiet \ @@ -191,18 +166,18 @@ proc checkout_index {msg pathList after} { $pathList \ $totalCnt \ $batch \ - $msg \ $after \ ] } -proc write_checkout_index {fd pathList totalCnt batch msg after} { +proc write_checkout_index {fd pathList totalCnt batch after} { global update_index_cp global file_states current_diff_path if {$update_index_cp >= $totalCnt} { close $fd unlock_index + $::main_status stop uplevel #0 $after return } @@ -222,12 +197,7 @@ proc write_checkout_index {fd pathList totalCnt batch msg after} { } } - ui_status [format \ - "%s... %i/%i files (%.2f%%)" \ - $msg \ - $update_index_cp \ - $totalCnt \ - [expr {100.0 * $update_index_cp / $totalCnt}]] + $::main_status update $update_index_cp $totalCnt } proc unstage_helper {txt paths} { From 6bdf5e5f20c792ad0c5d5ba941d7e637aca86d32 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sun, 7 Oct 2007 22:23:54 -0700 Subject: [PATCH 81/91] git-gui: Consolidate the Fetch and Push menus into a Remote menu Sometimes the Fetch menu looks really odd, such as if you are in a repository that has no remotes configured when you start git-gui. Here we didn't have any items to add to the Fetch menu so it was a tad confusing for the end-user to see an empty menu on the menu bar. We now place all of the commands related to fetching and pushing of changes into a single "Remote" menu. This way we have a better class of bucket that we can drop additional remote related items into such as doing a remote merge or editing the remote configuration specs. The shortcuts to execute fetch/remote prune/push on existing remote specifications are now actually submenus listing the remotes by name. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 20 +++++++++++------- lib/remote.tcl | 55 ++++++++++++++++++++++++++++++-------------------- 2 files changed, 46 insertions(+), 29 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index ca391136c8..c8307a6eef 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1792,8 +1792,7 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} { } if {[is_enabled transport]} { .mbar add cascade -label [mc Merge] -menu .mbar.merge - .mbar add cascade -label [mc Fetch] -menu .mbar.fetch - .mbar add cascade -label [mc Push] -menu .mbar.push + .mbar add cascade -label [mc Remote] -menu .mbar.remote } . configure -menu .mbar @@ -2000,13 +1999,14 @@ if {[is_enabled branch]} { # -- Transport Menu # if {[is_enabled transport]} { - menu .mbar.fetch + menu .mbar.remote - menu .mbar.push - .mbar.push add command -label [mc "Push..."] \ + .mbar.remote add command \ + -label [mc "Push..."] \ -command do_push_anywhere \ -accelerator $M1T-P - .mbar.push add command -label [mc "Delete..."] \ + .mbar.remote add command \ + -label [mc "Delete..."] \ -command remote_branch_delete::dialog } @@ -2720,8 +2720,14 @@ user.email settings into your personal if {[is_enabled transport]} { load_all_remotes - populate_fetch_menu + set n [.mbar.remote index end] populate_push_menu + populate_fetch_menu + set n [expr {[.mbar.remote index end] - $n}] + if {$n > 0} { + .mbar.remote insert $n separator + } + unset n } if {[winfo exists $ui_comm]} { diff --git a/lib/remote.tcl b/lib/remote.tcl index aba6eb8343..0e86ddac09 100644 --- a/lib/remote.tcl +++ b/lib/remote.tcl @@ -135,8 +135,10 @@ proc load_all_remotes {} { proc populate_fetch_menu {} { global all_remotes repo_config - set m .mbar.fetch - set prune_list [list] + 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)}]} { @@ -157,28 +159,34 @@ proc populate_fetch_menu {} { } if {$enable} { - lappend prune_list $r - $m add command \ - -label [mc "Fetch from %s" $r] \ - -command [list fetch_from $r] - } - } + if {![winfo exists $fetch_m]} { + menu $prune_m + $remote_m insert 0 cascade \ + -label [mc "Prune from"] \ + -menu $prune_m - if {$prune_list ne {}} { - $m add separator - } - foreach r $prune_list { - $m add command \ - -label [mc "Prune from %s" $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] + } } } proc populate_push_menu {} { global all_remotes repo_config - set m .mbar.push - set fast_count 0 + 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)}]} { @@ -199,13 +207,16 @@ proc populate_push_menu {} { } if {$enable} { - if {!$fast_count} { - $m add separator + if {![winfo exists $push_m]} { + menu $push_m + $remote_m insert 0 cascade \ + -label [mc "Push to"] \ + -menu $push_m } - $m add command \ - -label [mc "Push to %s" $r] \ + + $push_m add command \ + -label $r \ -command [list push_to $r] - incr fast_count } } } From 13824e2df23c18eab28b2b9a8c112276a84dd419 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sun, 7 Oct 2007 22:39:08 -0700 Subject: [PATCH 82/91] git-gui: Bind Cmd-, to Preferences on Mac OS X A Mac OS X UI convention is to have Cmd-, be the accelerator key for the preferences window, which by convention is located in the apple menu under a separator below the about command. We also now call this "Preferences..." as that is the conventional term used in English. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 8 ++++++-- lib/option.tcl | 12 +++++++----- 2 files changed, 13 insertions(+), 7 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index c8307a6eef..be506b908c 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -2018,8 +2018,12 @@ if {[is_MacOSX]} { .mbar.apple add command -label [mc "About %s" [appname]] \ -command do_about - .mbar.apple add command -label [mc "Options..."] \ - -command do_options + .mbar.apple add separator + .mbar.apple add command \ + -label [mc "Preferences..."] \ + -command do_options \ + -accelerator $M1T-, + bind . <$M1B-,> do_options } else { # -- Edit Menu # diff --git a/lib/option.tcl b/lib/option.tcl index de6bd90edc..f812e5e89a 100644 --- a/lib/option.tcl +++ b/lib/option.tcl @@ -78,10 +78,6 @@ proc do_options {} { toplevel $w wm geometry $w "+[winfo rootx .]+[winfo rooty .]" - label $w.header -text [mc "Options"] \ - -font font_uibold - pack $w.header -side top -fill x - frame $w.buttons button $w.buttons.restore -text [mc "Restore Defaults"] \ -default normal \ @@ -199,7 +195,13 @@ proc do_options {} { bind $w "grab $w; focus $w.buttons.save" bind $w "destroy $w" bind $w [list do_save_config $w] - wm title $w [append "[appname] ([reponame]): " [mc "Options"]] + + if {[is_MacOSX]} { + set t [mc "Preferences"] + } else { + set t [mc "Options"] + } + wm title $w "[appname] ([reponame]): $t" tkwait window $w } From c73ce762f091688ce6bcd5470239f7c5d1963800 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 5 Oct 2007 08:47:23 -0400 Subject: [PATCH 83/91] git-gui: Shorten the staged/unstaged changes title bar text The titles for the staged and unstaged areas were usually opening up too narrow by default, causing the text to be clipped by Tcl as it tried to center the text in the middle of the available area. This meant that users who were new to git-gui did not get to see the entire header and may be unclear about what the different lists are. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index be506b908c..e17efb7d9f 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -2213,7 +2213,7 @@ pack .vpane -anchor n -side top -fill both -expand 1 # -- Index File List # frame .vpane.files.index -height 100 -width 200 -label .vpane.files.index.title -text [mc "Staged Changes (Will Be Committed)"] \ +label .vpane.files.index.title -text [mc "Staged Changes (Will Commit)"] \ -background lightgreen text $ui_index -background white -borderwidth 0 \ -width 20 -height 10 \ @@ -2233,7 +2233,7 @@ pack $ui_index -side left -fill both -expand 1 # -- Working Directory File List # frame .vpane.files.workdir -height 100 -width 200 -label .vpane.files.workdir.title -text [mc "Unstaged Changes (Will Not Be Committed)"] \ +label .vpane.files.workdir.title -text [mc "Unstaged Changes"] \ -background lightsalmon text $ui_workdir -background white -borderwidth 0 \ -width 20 -height 10 \ From 2ce3755a5591354e5aa011254da859889b9be08e Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Fri, 5 Oct 2007 22:30:32 +0200 Subject: [PATCH 84/91] git-gui: Add more words to translation glossary --- po/glossary/git-gui-glossary.pot | 12 ++++++++++-- po/glossary/git-gui-glossary.txt | 2 ++ 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/po/glossary/git-gui-glossary.pot b/po/glossary/git-gui-glossary.pot index c955b46744..a2e5c73bbd 100644 --- a/po/glossary/git-gui-glossary.pot +++ b/po/glossary/git-gui-glossary.pot @@ -6,12 +6,12 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2007-07-27 19:21+0200\n" +"POT-Creation-Date: 2007-10-05 22:30+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "MIME-Version: 1.0\n" -"Content-Type: text/plain; charset=UTF-8\n" +"Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: ENCODING\n" #. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)" @@ -42,6 +42,10 @@ msgstr "" msgid "checkout [verb]" msgstr "" +#. "" +msgid "clone [verb]" +msgstr "" + #. "A single point in the git history." msgid "commit [noun]" msgstr "" @@ -82,6 +86,10 @@ msgstr "" msgid "message" msgstr "" +#. "" +msgid "prune" +msgstr "" + #. "Pulling a branch means to fetch it and merge it." msgid "pull" msgstr "" diff --git a/po/glossary/git-gui-glossary.txt b/po/glossary/git-gui-glossary.txt index bb55aa827d..b53740d48c 100644 --- a/po/glossary/git-gui-glossary.txt +++ b/po/glossary/git-gui-glossary.txt @@ -5,6 +5,7 @@ "branch [verb]" "" "checkout [noun]" "" "checkout [verb]" "The action of updating the working tree to a revision which was stored in the object database." +"clone [verb]" "" "commit [noun]" "A single point in the git history." "commit [verb]" "The action of storing a new snapshot of the project's state in the git history." "diff [noun]" "" @@ -15,6 +16,7 @@ "merge [noun]" "A successful merge results in the creation of a new commit representing the result of the merge." "merge [verb]" "To bring the contents of another branch into the current branch." "message" "" +"prune" "" "pull" "Pulling a branch means to fetch it and merge it." "push" "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)" "redo" "" From becfb01553ea50c476013d2c31c93eae119fcf64 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Fri, 5 Oct 2007 22:32:55 +0200 Subject: [PATCH 85/91] git-gui: Update German glossary according to mailing list discussion --- po/glossary/de.po | 45 ++++++++++++++++++++++++++++++++++----------- 1 file changed, 34 insertions(+), 11 deletions(-) diff --git a/po/glossary/de.po b/po/glossary/de.po index aab3b22f50..054cf4df5a 100644 --- a/po/glossary/de.po +++ b/po/glossary/de.po @@ -6,7 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: git-gui glossary\n" -"PO-Revision-Date: 2007-07-26 14:45+0200\n" +"POT-Creation-Date: 2007-10-05 22:30+0200\n" +"PO-Revision-Date: 2007-10-05 22:32+0200\n" "Last-Translator: Christian Stimming \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -19,11 +20,17 @@ msgid "" msgstr "" "Deutsche Übersetzung.\n" "Andere deutsche SCM:\n" -" http://tortoisesvn.net/docs/release/TortoiseSVN_de/index.html und http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/Languages/Tortoise_de.po (username=guest, password empty, gut),\n" -" http://msdn.microsoft.com/de-de/library/ms181038(vs.80).aspx (MS Visual Source Safe, kommerziell),\n" -" http://cvsbook.red-bean.com/translations/german/Kap_06.html (mittelmäßig),\n" -" http://tortoisecvs.cvs.sourceforge.net/tortoisecvs/po/TortoiseCVS/de_DE.po?view=markup (mittelmäßig),\n" -" http://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/locale/de/rapidsvn.po (username=guest, password empty, schlecht)" +" http://tortoisesvn.net/docs/release/TortoiseSVN_de/index.html und http://" +"tortoisesvn.tigris.org/svn/tortoisesvn/trunk/Languages/Tortoise_de.po " +"(username=guest, password empty, gut),\n" +" http://msdn.microsoft.com/de-de/library/ms181038(vs.80).aspx (MS Visual " +"Source Safe, kommerziell),\n" +" http://cvsbook.red-bean.com/translations/german/Kap_06.html " +"(mittelmäßig),\n" +" http://tortoisecvs.cvs.sourceforge.net/tortoisecvs/po/TortoiseCVS/de_DE.po?" +"view=markup (mittelmäßig),\n" +" http://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/locale/de/rapidsvn.po " +"(username=guest, password empty, schlecht)" #. "" msgid "amend" @@ -43,19 +50,31 @@ msgstr "verzweigen" #. "" msgid "checkout [noun]" -msgstr "Auscheck? Ausspielung? Abruf? (Source Safe: Auscheckvorgang)" +msgstr "" +"Arbeitskopie (Erstellung einer Arbeitskopie; Auscheck? Ausspielung? Abruf? " +"Source Safe: Auscheckvorgang)" #. "The action of updating the working tree to a revision which was stored in the object database." msgid "checkout [verb]" -msgstr "auschecken? ausspielen? abrufen? (Source Safe: auschecken)" +msgstr "" +"Arbeitskopie erstellen; Zweig umstellen [checkout a branch] (auschecken? " +"ausspielen? abrufen? Source Safe: auschecken)" + +#. "" +msgid "clone [verb]" +msgstr "kopieren" #. "A single point in the git history." msgid "commit [noun]" -msgstr "Übertragung (Sendung?, Übergabe?, Einspielung?, Ablagevorgang?)" +msgstr "" +"Version; Eintragung; Änderung (Buchung?, Eintragung?, Übertragung?, " +"Sendung?, Übergabe?, Einspielung?, Ablagevorgang?)" #. "The action of storing a new snapshot of the project's state in the git history." msgid "commit [verb]" -msgstr "übertragen (TortoiseSVN: übertragen; Source Safe: einchecken; senden?, übergeben?, einspielen?, einpflegen?, ablegen?)" +msgstr "" +"eintragen (TortoiseSVN: übertragen; Source Safe: einchecken; senden?, " +"übergeben?, einspielen?, einpflegen?, ablegen?)" #. "" msgid "diff [noun]" @@ -87,7 +106,11 @@ msgstr "zusammenführen" #. "" msgid "message" -msgstr "Meldung (Nachricht?; Source Safe: Kommentar)" +msgstr "Beschreibung (Meldung?, Nachricht?; Source Safe: Kommentar)" + +#. "" +msgid "prune" +msgstr "löschen" #. "Pulling a branch means to fetch it and merge it." msgid "pull" From aad2dc27636cac9cebd7605a0a57fa50dfb3378e Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Fri, 5 Oct 2007 22:01:39 +0200 Subject: [PATCH 86/91] git-gui: Incorporate glossary changes into existing German translation --- po/de.po | 113 +++++++++++++++++++++++-------------------------------- 1 file changed, 47 insertions(+), 66 deletions(-) diff --git a/po/de.po b/po/de.po index 94b7463ca3..ee69d66b51 100644 --- a/po/de.po +++ b/po/de.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-08-11 17:28+0200\n" -"PO-Revision-Date: 2007-08-11 17:37+0200\n" +"PO-Revision-Date: 2007-10-05 22:00+0200\n" "Last-Translator: Christian Stimming \n" "Language-Team: German\n" "MIME-Version: 1.0\n" @@ -80,15 +80,15 @@ msgstr "Verändert, nicht bereitgestellt" #: git-gui.sh:1325 git-gui.sh:1330 msgid "Staged for commit" -msgstr "Bereitgestellt zur Übertragung" +msgstr "Bereitgestellt zum Eintragen" #: git-gui.sh:1326 git-gui.sh:1331 msgid "Portions staged for commit" -msgstr "Teilweise bereitgestellt zur Übertragung" +msgstr "Teilweise bereitgestellt zum Eintragen" #: git-gui.sh:1327 git-gui.sh:1332 msgid "Staged for commit, missing" -msgstr "Bereitgestellt zur Übertragung, fehlend" +msgstr "Bereitgestellt zum Eintragen, fehlend" #: git-gui.sh:1329 msgid "Untracked, not staged" @@ -152,7 +152,7 @@ msgstr "Zweig" #: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152 msgid "Commit" -msgstr "Übertragen" +msgstr "Eintragen" #: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" @@ -249,7 +249,7 @@ msgstr "Erstellen..." #: git-gui.sh:1764 msgid "Checkout..." -msgstr "Auschecken..." +msgstr "Arbeitskopie erstellen..." #: git-gui.sh:1770 msgid "Rename..." @@ -265,11 +265,11 @@ msgstr "Zurücksetzen..." #: git-gui.sh:1792 git-gui.sh:2169 msgid "New Commit" -msgstr "Neu übertragen" +msgstr "Neue Version" #: git-gui.sh:1800 git-gui.sh:2176 msgid "Amend Last Commit" -msgstr "Letzte Übertragung nachbessern" +msgstr "Letzte Version nachbessern" #: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99 msgid "Rescan" @@ -277,11 +277,11 @@ msgstr "Neu laden" #: git-gui.sh:1815 msgid "Stage To Commit" -msgstr "Zur Übertragung bereitstellen" +msgstr "Zum Eintragen bereitstellen" #: git-gui.sh:1820 msgid "Stage Changed Files To Commit" -msgstr "Geänderte Dateien zur Übertragung bereitstellen" +msgstr "Geänderte Dateien zum Eintragen bereitstellen" #: git-gui.sh:1826 msgid "Unstage From Commit" @@ -334,11 +334,11 @@ msgstr "Aktueller Zweig:" #: git-gui.sh:2075 msgid "Staged Changes (Will Be Committed)" -msgstr "Bereitgestellte Änderungen (werden übertragen)" +msgstr "Bereitgestellte Änderungen (werden eingetragen)" #: git-gui.sh:2095 msgid "Unstaged Changes (Will Not Be Committed)" -msgstr "Nicht bereitgestellte Änderungen (werden nicht übertragen)" +msgstr "Nicht bereitgestellte Änderungen (werden nicht eingetragen)" #: git-gui.sh:2142 msgid "Stage Changed" @@ -346,27 +346,27 @@ msgstr "Geänderte bereitstellen" #: git-gui.sh:2188 msgid "Initial Commit Message:" -msgstr "Erstmalige Übertragungsmeldung" +msgstr "Beschreibung der ersten Version:" #: git-gui.sh:2189 msgid "Amended Commit Message:" -msgstr "Übertragungsmeldung mit Nachbesserung:" +msgstr "Beschreibung der nachgebesserten Version:" #: git-gui.sh:2190 msgid "Amended Initial Commit Message:" -msgstr "Erstmalige Übertragungsmeldung mit Nachbesserung:" +msgstr "Beschreibung der nachgebesserten ersten Version:" #: git-gui.sh:2191 msgid "Amended Merge Commit Message:" -msgstr "Zusammenführungs-Übertragungsmeldung mit Nachbesserung" +msgstr "Beschreibung der nachgebesserten Zusammenführungs-Version:" #: git-gui.sh:2192 msgid "Merge Commit Message:" -msgstr "Übertragungsmeldung Zusammenführung:" +msgstr "Beschreibung der Zusammenführungs-Version:" #: git-gui.sh:2193 msgid "Commit Message:" -msgstr "Übertragungsmeldung:" +msgstr "Versionsbeschreibung:" #: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73 msgid "Copy All" @@ -418,11 +418,11 @@ msgstr "Datei-Browser" #: lib/blame.tcl:81 msgid "Commit:" -msgstr "Übertragung:" +msgstr "Version:" #: lib/blame.tcl:249 msgid "Copy Commit" -msgstr "Übertragung kopieren" +msgstr "Version kopieren" #: lib/blame.tcl:369 #, tcl-format @@ -431,11 +431,11 @@ msgstr "%s lesen..." #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" -msgstr "Zweig auschecken" +msgstr "Zweig umstellen" #: lib/branch_checkout.tcl:23 msgid "Checkout" -msgstr "Auschecken" +msgstr "Umstellen" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 #: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283 @@ -507,7 +507,7 @@ msgstr "Zurücksetzen" #: lib/branch_create.tcl:97 msgid "Checkout After Creation" -msgstr "Auschecken nach Erstellen" +msgstr "Arbeitskopie umstellen nach Erstellen" #: lib/branch_create.tcl:131 msgid "Please select a tracking branch." @@ -686,8 +686,7 @@ msgstr "" #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." -msgstr "" -"Auschecken von »%s« abgebrochen (Zusammenführen der Dateien ist notwendig)." +msgstr "Zweig umstellen von »%s« abgebrochen (Zusammenführen der Dateien ist notwendig)." #: lib/checkout_op.tcl:354 msgid "File level merge required." @@ -707,8 +706,7 @@ msgid "" msgstr "" "Die Arbeitskopie ist nicht auf einem lokalen Zweig.\n" "\n" -"Wenn Sie auf einem Zwei arbeiten möchten, erstellen Sie bitte jetzt einen " -"Zweig mit der Auswahl »Abgetrennte Auscheck-Version«." +"Wenn Sie auf einem Zweig arbeiten möchten, erstellen Sie bitte jetzt einen Zweig mit der Auswahl »Abgetrennte Arbeitskopie-Version«." #: lib/checkout_op.tcl:478 #, tcl-format @@ -750,7 +748,7 @@ msgstr "" #: lib/choose_rev.tcl:53 msgid "This Detached Checkout" -msgstr "Abgetrennte Auscheck-Version" +msgstr "Abgetrennte Arbeitskopie-Version" #: lib/choose_rev.tcl:60 msgid "Revision Expression:" @@ -831,8 +829,7 @@ msgid "" msgstr "" "Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n" "\n" -"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden " -"geändert. Vor einer neuen Übertragung muss neu geladen werden.\n" +"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden geändert. Vor dem Eintragen einer neuen Version muss neu geladen werden.\n" "\n" "Es wird gleich neu geladen.\n" @@ -844,10 +841,9 @@ msgid "" "File %s has merge conflicts. You must resolve them and stage the file " "before committing.\n" msgstr "" -"Nicht zusammengeführte Dateien können nicht übertragen werden.\n" +"Nicht zusammengeführte Dateien können nicht eingetragen werden.\n" "\n" -"Die Datei %s hat noch nicht aufgelöste Zusammenführungs-Konflikte. Sie " -"müssen diese Konflikte auflösen, bevor Sie übertragen können.\n" +"Die Datei »%s« hat noch nicht aufgelöste Zusammenführungs-Konflikte. Sie müssen diese Konflikte auflösen, bevor Sie eintragen können.\n" #: lib/commit.tcl:162 #, tcl-format @@ -858,7 +854,7 @@ msgid "" msgstr "" "Unbekannter Dateizustand »%s«.\n" "\n" -"Datei »%s« kann nicht übertragen werden.\n" +"Datei »%s« kann nicht eingetragen werden.\n" #: lib/commit.tcl:170 msgid "" @@ -866,10 +862,9 @@ msgid "" "\n" "You must stage at least 1 file before you can commit.\n" msgstr "" -"Keine Änderungen vorhanden, die übertragen werden könnten.\n" +"Keine Änderungen vorhanden, die eingetragen werden könnten.\n" "\n" -"Sie müssen mindestens eine Datei bereitstellen, bevor Sie übertragen " -"können.\n" +"Sie müssen mindestens eine Datei bereitstellen, bevor Sie eintragen können.\n" #: lib/commit.tcl:183 msgid "" @@ -881,16 +876,15 @@ msgid "" "- Second line: Blank\n" "- Remaining lines: Describe why this change is good.\n" msgstr "" -"Bitte geben Sie eine Übertragungsmeldung ein.\n" +"Bitte geben Sie eine Versionsbeschreibung ein.\n" "\n" -"Eine gute Übertragungsmeldung enthält folgende Abschnitte:\n" +"Eine gute Versionsbeschreibung enthält folgende Abschnitte:\n" "\n" "- Erste Zeile: Eine Zusammenfassung, was man gemacht hat.\n" "\n" "- Zweite Zeile: Leerzeile\n" "\n" -"- Rest der Meldung: Eine ausführliche Beschreibung, warum diese Änderung " -"hilfreich ist.\n" +"- Rest: Eine ausführliche Beschreibung, warum diese Änderung hilfreich ist.\n" #: lib/commit.tcl:257 msgid "write-tree failed:" @@ -904,16 +898,15 @@ msgid "" "\n" "A rescan will be automatically started now.\n" msgstr "" -"Keine Änderungen zu übertragen.\n" +"Keine Änderungen einzutragen.\n" "\n" -"Es gibt keine geänderte Datei bei dieser Übertragung und es wurde auch " -"nichts zusammengeführt.\n" +"Es gibt keine geänderte Datei bei dieser Version und es wurde auch nichts zusammengeführt.\n" "\n" "Das Arbeitsverzeichnis wird daher jetzt neu geladen.\n" #: lib/commit.tcl:286 msgid "No changes to commit." -msgstr "Keine Änderungen, die übertragen werden können." +msgstr "Keine Änderungen, die eingetragen werden können." #: lib/commit.tcl:317 msgid "commit-tree failed:" @@ -1024,8 +1017,7 @@ msgstr "Warnung" #: lib/error.tcl:81 msgid "You must correct the above errors before committing." -msgstr "" -"Sie müssen die obigen Fehler zuerst beheben, bevor Sie übertragen können." +msgstr "Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können." #: lib/index.tcl:364 #, tcl-format @@ -1054,8 +1046,7 @@ msgid "" msgstr "" "Zusammenführen kann nicht gleichzeitig mit Nachbessern durchgeführt werden.\n" "\n" -"Sie müssen zuerst die Nachbesserungs-Übertragung abschließen, bevor Sie " -"zusammenführen können.\n" +"Sie müssen zuerst die Nachbesserungs-Version abschließen, bevor Sie zusammenführen können.\n" #: lib/merge.tcl:27 msgid "" @@ -1085,10 +1076,7 @@ msgid "" msgstr "" "Zusammenführung mit Konflikten.\n" "\n" -"Die Datei »%s« enthält Konflikte beim Zusammenführen. Sie müssen diese " -"Konflikte per Hand auflösen. Anschließend müssen Sie die Datei wieder " -"bereitstellen und übertragen, um die Zusammenführung abzuschließen. Erst " -"danach kann eine neue Zusammenführung begonnen werden.\n" +"Die Datei »%s« enthält Konflikte beim Zusammenführen. Sie müssen diese Konflikte per Hand auflösen. Anschließend müssen Sie die Datei wieder bereitstellen und eintragen, um die Zusammenführung abzuschließen. Erst danach kann eine neue Zusammenführung begonnen werden.\n" #: lib/merge.tcl:54 #, tcl-format @@ -1102,10 +1090,7 @@ msgid "" msgstr "" "Es liegen Änderungen vor.\n" "\n" -"Die Datei »%s« wurde geändert. Sie sollten zuerst die bereitgestellte " -"Übertragung abschließen, bevor Sie eine Zusammenführung beginnen. Mit " -"dieser Reihenfolge können Sie mögliche Konflikte beim Zusammenführen " -"wesentlich einfacher beheben oder abbrechen.\n" +"Die Datei »%s« wurde geändert. Sie sollten zuerst die bereitgestellte Version abschließen, bevor Sie eine Zusammenführung beginnen. Mit dieser Reihenfolge können Sie mögliche Konflikte beim Zusammenführen wesentlich einfacher beheben oder abbrechen.\n" #: lib/merge.tcl:106 #, tcl-format @@ -1142,7 +1127,7 @@ msgid "" msgstr "" "Abbruch der Nachbesserung ist nicht möglich.\n" "\n" -"Sie müssen die Nachbesserung der Übertragung abschließen.\n" +"Sie müssen die Nachbesserung der Version abschließen.\n" #: lib/merge.tcl:222 msgid "" @@ -1154,7 +1139,7 @@ msgid "" msgstr "" "Zusammenführen abbrechen?\n" "\n" -"Wenn Sie abbrechen, gehen alle noch nicht übertragenen Änderungen verloren.\n" +"Wenn Sie abbrechen, gehen alle noch nicht eingetragenen Änderungen verloren.\n" "\n" "Zusammenführen jetzt abbrechen?" @@ -1168,8 +1153,7 @@ msgid "" msgstr "" "Änderungen zurücksetzen?\n" "\n" -"Wenn Sie zurücksetzen, gehen alle noch nicht übertragenen Änderungen " -"verloren.\n" +"Wenn Sie zurücksetzen, gehen alle noch nicht eingetragenen Änderungen verloren.\n" "\n" "Änderungen jetzt zurücksetzen?" @@ -1216,7 +1200,7 @@ msgstr "E-Mail-Adresse" #: lib/option.tcl:188 msgid "Summarize Merge Commits" -msgstr "Zusammenführungs-Übertragungen zusammenfassen" +msgstr "Zusammenführungs-Versionen zusammenfassen" #: lib/option.tcl:189 msgid "Merge Verbosity" @@ -1291,10 +1275,7 @@ msgstr "Für »Zusammenführen mit« muss ein Zweig angegeben werden." msgid "" "One or more of the merge tests failed because you have not fetched the " "necessary commits. Try fetching from %s first." -msgstr "" -"Ein oder mehrere Zusammenführungen sind fehlgeschlagen, da Sie nicht die " -"notwendigen Versionen vorher angefordert haben. Sie sollten versuchen, " -"zuerst von »%s« anzufordern." +msgstr "Ein oder mehrere Zusammenführungen sind fehlgeschlagen, da Sie nicht die notwendigen Versionen vorher angefordert haben. Sie sollten versuchen, zuerst von »%s« anzufordern." #: lib/remote_branch_delete.tcl:207 msgid "Please select one or more branches to delete." From 1d6e05f6bda69c4e066f61a85bfdd6d10ca209c0 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Mon, 8 Oct 2007 21:34:56 +0200 Subject: [PATCH 87/91] git-gui: Update German translation, including latest glossary changes --- po/de.po | 798 +++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 633 insertions(+), 165 deletions(-) diff --git a/po/de.po b/po/de.po index ee69d66b51..60b9ea52dc 100644 --- a/po/de.po +++ b/po/de.po @@ -7,23 +7,41 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-08-11 17:28+0200\n" -"PO-Revision-Date: 2007-10-05 22:00+0200\n" +"POT-Creation-Date: 2007-10-05 22:01+0200\n" +"PO-Revision-Date: 2007-10-05 22:27+0200\n" "Last-Translator: Christian Stimming \n" "Language-Team: German\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:531 +#: git-gui.sh:41 git-gui.sh:631 git-gui.sh:645 git-gui.sh:658 git-gui.sh:740 +#: git-gui.sh:759 +msgid "git-gui: fatal error" +msgstr "git-gui: Programmfehler" + +#: git-gui.sh:592 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "Ungültige Zeichensatz-Angabe in %s:" + +#: git-gui.sh:617 +msgid "Main Font" +msgstr "Programmschriftart" + +#: git-gui.sh:618 +msgid "Diff/Console Font" +msgstr "Vergleich-Schriftart" + +#: git-gui.sh:632 msgid "Cannot find git in PATH." msgstr "Git kann im PATH nicht gefunden werden." -#: git-gui.sh:550 +#: git-gui.sh:659 msgid "Cannot parse Git version string:" msgstr "Git Versionsangabe kann nicht erkannt werden:" -#: git-gui.sh:567 +#: git-gui.sh:676 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -42,79 +60,79 @@ msgstr "" "\n" "Soll angenommen werden, »%s« sei Version 1.5.0?\n" -#: git-gui.sh:689 -msgid "Cannot find the git directory:" -msgstr "Git-Verzeichnis kann nicht gefunden werden:" - -#: git-gui.sh:697 +#: git-gui.sh:849 msgid "Git directory not found:" msgstr "Git-Verzeichnis nicht gefunden:" -#: git-gui.sh:703 +#: git-gui.sh:856 +msgid "Cannot move to top of working directory:" +msgstr "Es konnte nicht in das oberste Verzeichnis der Arbeitskopie gewechselt werden:" + +#: git-gui.sh:863 msgid "Cannot use funny .git directory:" msgstr "Unerwartete Struktur des .git Verzeichnis:" -#: git-gui.sh:708 +#: git-gui.sh:868 msgid "No working directory" msgstr "Kein Arbeitsverzeichnis" -#: git-gui.sh:854 +#: git-gui.sh:1015 msgid "Refreshing file status..." msgstr "Dateistatus aktualisieren..." -#: git-gui.sh:891 +#: git-gui.sh:1080 msgid "Scanning for modified files ..." msgstr "Nach geänderten Dateien suchen..." -#: git-gui.sh:1057 lib/browser.tcl:247 +#: git-gui.sh:1255 lib/browser.tcl:245 msgid "Ready." msgstr "Bereit." -#: git-gui.sh:1322 +#: git-gui.sh:1521 msgid "Unmodified" msgstr "Unverändert" -#: git-gui.sh:1324 +#: git-gui.sh:1523 msgid "Modified, not staged" msgstr "Verändert, nicht bereitgestellt" -#: git-gui.sh:1325 git-gui.sh:1330 +#: git-gui.sh:1524 git-gui.sh:1529 msgid "Staged for commit" msgstr "Bereitgestellt zum Eintragen" -#: git-gui.sh:1326 git-gui.sh:1331 +#: git-gui.sh:1525 git-gui.sh:1530 msgid "Portions staged for commit" msgstr "Teilweise bereitgestellt zum Eintragen" -#: git-gui.sh:1327 git-gui.sh:1332 +#: git-gui.sh:1526 git-gui.sh:1531 msgid "Staged for commit, missing" msgstr "Bereitgestellt zum Eintragen, fehlend" -#: git-gui.sh:1329 +#: git-gui.sh:1528 msgid "Untracked, not staged" msgstr "Nicht unter Versionskontrolle, nicht bereitgestellt" -#: git-gui.sh:1334 +#: git-gui.sh:1533 msgid "Missing" msgstr "Fehlend" -#: git-gui.sh:1335 +#: git-gui.sh:1534 msgid "Staged for removal" msgstr "Bereitgestellt zum Löschen" -#: git-gui.sh:1336 +#: git-gui.sh:1535 msgid "Staged for removal, still present" msgstr "Bereitgestellt zum Löschen, trotzdem vorhanden" -#: git-gui.sh:1338 git-gui.sh:1339 git-gui.sh:1340 git-gui.sh:1341 +#: git-gui.sh:1537 git-gui.sh:1538 git-gui.sh:1539 git-gui.sh:1540 msgid "Requires merge resolution" msgstr "Konfliktauflösung nötig" -#: git-gui.sh:1383 +#: git-gui.sh:1575 msgid "Starting gitk... please wait..." msgstr "Gitk wird gestartet... bitte warten." -#: git-gui.sh:1392 +#: git-gui.sh:1584 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -125,293 +143,319 @@ msgstr "" "\n" "%s existiert nicht" -#: git-gui.sh:1609 -#, tcl-format -msgid "Invalid font specified in gui.%s:" -msgstr "Ungültige Zeichensatz-Angabe in gui.%s:" - -#: git-gui.sh:1634 -msgid "Main Font" -msgstr "Programmschriftart" - -#: git-gui.sh:1635 -msgid "Diff/Console Font" -msgstr "Vergleich-Schriftart" - -#: git-gui.sh:1649 +#: git-gui.sh:1784 lib/choose_repository.tcl:64 msgid "Repository" msgstr "Projektarchiv" -#: git-gui.sh:1650 +#: git-gui.sh:1785 msgid "Edit" msgstr "Bearbeiten" -#: git-gui.sh:1652 +#: git-gui.sh:1787 lib/choose_rev.tcl:560 msgid "Branch" msgstr "Zweig" -#: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152 -msgid "Commit" -msgstr "Eintragen" +#: git-gui.sh:1790 lib/choose_rev.tcl:547 +msgid "Commit@@noun" +msgstr "Version" -#: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1793 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "Zusammenführen" -#: git-gui.sh:1659 +#: git-gui.sh:1794 msgid "Fetch" msgstr "Anfordern" -#: git-gui.sh:1660 git-gui.sh:2158 lib/transport.tcl:88 lib/transport.tcl:172 +#: git-gui.sh:1795 git-gui.sh:2294 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Ausliefern" -#: git-gui.sh:1669 +#: git-gui.sh:1804 msgid "Browse Current Branch's Files" msgstr "Aktuellen Zweig durchblättern" -#: git-gui.sh:1673 +#: git-gui.sh:1808 msgid "Browse Branch Files..." msgstr "Einen Zweig durchblättern..." -#: git-gui.sh:1678 +#: git-gui.sh:1813 msgid "Visualize Current Branch's History" msgstr "Aktuellen Zweig darstellen" -#: git-gui.sh:1682 +#: git-gui.sh:1817 msgid "Visualize All Branch History" msgstr "Alle Zweige darstellen" -#: git-gui.sh:1689 +#: git-gui.sh:1824 #, tcl-format msgid "Browse %s's Files" msgstr "Zweig »%s« durchblättern" -#: git-gui.sh:1691 +#: git-gui.sh:1826 #, tcl-format msgid "Visualize %s's History" msgstr "Historie von »%s« darstellen" -#: git-gui.sh:1696 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1831 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Datenbankstatistik" -#: git-gui.sh:1699 lib/database.tcl:34 +#: git-gui.sh:1834 lib/database.tcl:34 msgid "Compress Database" msgstr "Datenbank komprimieren" -#: git-gui.sh:1702 +#: git-gui.sh:1837 msgid "Verify Database" msgstr "Datenbank überprüfen" -#: git-gui.sh:1709 git-gui.sh:1713 git-gui.sh:1717 lib/shortcut.tcl:9 +#: git-gui.sh:1844 git-gui.sh:1848 git-gui.sh:1852 lib/shortcut.tcl:9 #: lib/shortcut.tcl:45 lib/shortcut.tcl:84 msgid "Create Desktop Icon" msgstr "Desktop-Icon erstellen" -#: git-gui.sh:1722 +#: git-gui.sh:1857 lib/choose_repository.tcl:68 lib/choose_repository.tcl:132 msgid "Quit" msgstr "Beenden" -#: git-gui.sh:1729 +#: git-gui.sh:1864 msgid "Undo" msgstr "Rückgängig" -#: git-gui.sh:1732 +#: git-gui.sh:1867 msgid "Redo" msgstr "Wiederholen" -#: git-gui.sh:1736 git-gui.sh:2222 +#: git-gui.sh:1871 git-gui.sh:2358 msgid "Cut" msgstr "Ausschneiden" -#: git-gui.sh:1739 git-gui.sh:2225 git-gui.sh:2296 git-gui.sh:2368 -#: lib/console.tcl:69 +#: git-gui.sh:1874 git-gui.sh:2361 git-gui.sh:2432 git-gui.sh:2504 +#: lib/console.tcl:67 msgid "Copy" msgstr "Kopieren" -#: git-gui.sh:1742 git-gui.sh:2228 +#: git-gui.sh:1877 git-gui.sh:2364 msgid "Paste" msgstr "Einfügen" -#: git-gui.sh:1745 git-gui.sh:2231 lib/branch_delete.tcl:26 +#: git-gui.sh:1880 git-gui.sh:2367 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Löschen" -#: git-gui.sh:1749 git-gui.sh:2235 git-gui.sh:2372 lib/console.tcl:71 +#: git-gui.sh:1884 git-gui.sh:2371 git-gui.sh:2508 lib/console.tcl:69 msgid "Select All" msgstr "Alle auswählen" -#: git-gui.sh:1758 +#: git-gui.sh:1893 msgid "Create..." msgstr "Erstellen..." -#: git-gui.sh:1764 +#: git-gui.sh:1899 msgid "Checkout..." -msgstr "Arbeitskopie erstellen..." +msgstr "Umstellen..." -#: git-gui.sh:1770 +#: git-gui.sh:1905 msgid "Rename..." msgstr "Umbenennen..." -#: git-gui.sh:1775 git-gui.sh:1873 +#: git-gui.sh:1910 git-gui.sh:2008 msgid "Delete..." msgstr "Löschen..." -#: git-gui.sh:1780 +#: git-gui.sh:1915 msgid "Reset..." msgstr "Zurücksetzen..." -#: git-gui.sh:1792 git-gui.sh:2169 +#: git-gui.sh:1927 git-gui.sh:2305 msgid "New Commit" msgstr "Neue Version" -#: git-gui.sh:1800 git-gui.sh:2176 +#: git-gui.sh:1935 git-gui.sh:2312 msgid "Amend Last Commit" msgstr "Letzte Version nachbessern" -#: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:1944 git-gui.sh:2272 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Neu laden" -#: git-gui.sh:1815 +#: git-gui.sh:1950 msgid "Stage To Commit" msgstr "Zum Eintragen bereitstellen" -#: git-gui.sh:1820 +#: git-gui.sh:1955 msgid "Stage Changed Files To Commit" msgstr "Geänderte Dateien zum Eintragen bereitstellen" -#: git-gui.sh:1826 +#: git-gui.sh:1961 msgid "Unstage From Commit" msgstr "Aus der Bereitstellung herausnehmen" -#: git-gui.sh:1831 lib/index.tcl:376 +#: git-gui.sh:1966 lib/index.tcl:382 msgid "Revert Changes" msgstr "Änderungen revidieren" -#: git-gui.sh:1838 git-gui.sh:2148 git-gui.sh:2246 +#: git-gui.sh:1973 git-gui.sh:2284 git-gui.sh:2382 msgid "Sign Off" msgstr "Abzeichnen" -#: git-gui.sh:1853 +#: git-gui.sh:1977 git-gui.sh:2288 +msgid "Commit@@verb" +msgstr "Eintragen" + +#: git-gui.sh:1988 msgid "Local Merge..." msgstr "Lokales Zusammenführen..." -#: git-gui.sh:1858 +#: git-gui.sh:1993 msgid "Abort Merge..." msgstr "Zusammenführen abbrechen..." -#: git-gui.sh:1870 +#: git-gui.sh:2005 msgid "Push..." msgstr "Ausliefern..." -#: git-gui.sh:1880 +#: git-gui.sh:2015 lib/choose_repository.tcl:73 msgid "Apple" msgstr "Apple" -#: git-gui.sh:1883 git-gui.sh:1901 lib/option.tcl:65 +#: git-gui.sh:2018 git-gui.sh:2036 lib/choose_repository.tcl:76 +#: lib/choose_repository.tcl:82 lib/option.tcl:65 #, tcl-format msgid "About %s" msgstr "Über %s" -#: git-gui.sh:1885 git-gui.sh:1891 git-gui.sh:2414 +#: git-gui.sh:2020 git-gui.sh:2026 git-gui.sh:2550 msgid "Options..." msgstr "Optionen..." -#: git-gui.sh:1897 +#: git-gui.sh:2032 lib/choose_repository.tcl:79 msgid "Help" msgstr "Hilfe" -#: git-gui.sh:1938 +#: git-gui.sh:2073 msgid "Online Documentation" msgstr "Online-Dokumentation" -#: git-gui.sh:2054 +#: git-gui.sh:2157 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" + +#: git-gui.sh:2190 msgid "Current Branch:" msgstr "Aktueller Zweig:" -#: git-gui.sh:2075 +#: git-gui.sh:2211 msgid "Staged Changes (Will Be Committed)" msgstr "Bereitgestellte Änderungen (werden eingetragen)" -#: git-gui.sh:2095 +#: git-gui.sh:2231 msgid "Unstaged Changes (Will Not Be Committed)" msgstr "Nicht bereitgestellte Änderungen (werden nicht eingetragen)" -#: git-gui.sh:2142 +#: git-gui.sh:2278 msgid "Stage Changed" msgstr "Geänderte bereitstellen" -#: git-gui.sh:2188 +#: git-gui.sh:2324 msgid "Initial Commit Message:" msgstr "Beschreibung der ersten Version:" -#: git-gui.sh:2189 +#: git-gui.sh:2325 msgid "Amended Commit Message:" msgstr "Beschreibung der nachgebesserten Version:" -#: git-gui.sh:2190 +#: git-gui.sh:2326 msgid "Amended Initial Commit Message:" msgstr "Beschreibung der nachgebesserten ersten Version:" -#: git-gui.sh:2191 +#: git-gui.sh:2327 msgid "Amended Merge Commit Message:" msgstr "Beschreibung der nachgebesserten Zusammenführungs-Version:" -#: git-gui.sh:2192 +#: git-gui.sh:2328 msgid "Merge Commit Message:" msgstr "Beschreibung der Zusammenführungs-Version:" -#: git-gui.sh:2193 +#: git-gui.sh:2329 msgid "Commit Message:" msgstr "Versionsbeschreibung:" -#: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73 +#: git-gui.sh:2374 git-gui.sh:2512 lib/console.tcl:71 msgid "Copy All" msgstr "Alle kopieren" -#: git-gui.sh:2262 lib/blame.tcl:104 +#: git-gui.sh:2398 lib/blame.tcl:104 msgid "File:" msgstr "Datei:" -#: git-gui.sh:2364 +#: git-gui.sh:2500 msgid "Refresh" msgstr "Aktualisieren" -#: git-gui.sh:2385 +#: git-gui.sh:2521 msgid "Apply/Reverse Hunk" msgstr "Änderung anwenden/umkehren" -#: git-gui.sh:2391 +#: git-gui.sh:2527 msgid "Decrease Font Size" msgstr "Schriftgröße verkleinern" -#: git-gui.sh:2395 +#: git-gui.sh:2531 msgid "Increase Font Size" msgstr "Schriftgröße vergrößern" -#: git-gui.sh:2400 +#: git-gui.sh:2536 msgid "Show Less Context" msgstr "Weniger Kontext anzeigen" -#: git-gui.sh:2407 +#: git-gui.sh:2543 msgid "Show More Context" msgstr "Mehr Kontext anzeigen" -#: git-gui.sh:2422 +#: git-gui.sh:2557 msgid "Unstage Hunk From Commit" msgstr "Aus der Bereitstellung herausnehmen" -#: git-gui.sh:2426 git-gui.sh:2430 +#: git-gui.sh:2559 msgid "Stage Hunk For Commit" msgstr "In die Bereitstellung hinzufügen" -#: git-gui.sh:2440 +#: git-gui.sh:2578 msgid "Initializing..." msgstr "Initialisieren..." +#: git-gui.sh:2669 +#, 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:2699 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" + +#: git-gui.sh:2704 +#, 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/blame.tcl:77 msgid "File Viewer" msgstr "Datei-Browser" @@ -429,6 +473,50 @@ msgstr "Version kopieren" msgid "Reading %s..." msgstr "%s lesen..." +#: lib/blame.tcl:473 +msgid "Loading copy/move tracking annotations..." +msgstr "" + +#: lib/blame.tcl:493 +msgid "lines annotated" +msgstr "" + +#: lib/blame.tcl:674 +msgid "Loading original location annotations..." +msgstr "" + +#: lib/blame.tcl:677 +msgid "Annotation complete." +msgstr "" + +#: lib/blame.tcl:731 +msgid "Loading annotation..." +msgstr "Annotierung laden..." + +#: lib/blame.tcl:787 +msgid "Author:" +msgstr "Autor:" + +#: lib/blame.tcl:791 +msgid "Committer:" +msgstr "Eintragender:" + +#: lib/blame.tcl:796 +msgid "Original File:" +msgstr "" + +#: lib/blame.tcl:910 +msgid "Originally By:" +msgstr "" + +#: lib/blame.tcl:916 +msgid "In File:" +msgstr "In Datei:" + +#: lib/blame.tcl:921 +msgid "Copied Or Moved Here By:" +msgstr "" + #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" msgstr "Zweig umstellen" @@ -438,18 +526,18 @@ msgid "Checkout" msgstr "Umstellen" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283 -#: lib/checkout_op.tcl:522 lib/merge.tcl:172 lib/option.tcl:172 -#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:172 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Abbrechen" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:288 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 msgid "Revision" msgstr "Version" #: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 -#: lib/option.tcl:274 +#: lib/option.tcl:280 msgid "Options" msgstr "Optionen" @@ -469,7 +557,7 @@ msgstr "Zweig erstellen" msgid "Create New Branch" msgstr "Neuen Zweig erstellen" -#: lib/branch_create.tcl:31 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:236 msgid "Create" msgstr "Erstellen" @@ -609,20 +697,22 @@ msgstr "Starten..." msgid "File Browser" msgstr "Datei-Browser" -#: lib/browser.tcl:127 lib/browser.tcl:144 +#: lib/browser.tcl:125 lib/browser.tcl:142 #, tcl-format msgid "Loading %s..." msgstr "%s laden..." -#: lib/browser.tcl:188 +#: lib/browser.tcl:186 msgid "[Up To Parent]" msgstr "[Nach oben]" -#: lib/browser.tcl:268 lib/browser.tcl:274 +#: lib/browser.tcl:266 lib/browser.tcl:272 msgid "Browse Branch Files" msgstr "Dateien des Zweigs durchblättern" -#: lib/browser.tcl:279 +#: lib/browser.tcl:277 lib/choose_repository.tcl:252 +#: lib/choose_repository.tcl:342 lib/choose_repository.tcl:352 +#: lib/choose_repository.tcl:848 msgid "Browse" msgstr "Blättern" @@ -631,7 +721,12 @@ msgstr "Blättern" msgid "Fetching %s from %s" msgstr "Änderungen »%s« von »%s« anfordern" -#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +#: lib/checkout_op.tcl:127 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "" + +#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" msgstr "Schließen" @@ -683,10 +778,17 @@ msgstr "" "\n" "Es wird gleich neu geladen.\n" +#: lib/checkout_op.tcl:322 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "Arbeitskopie umstellen auf »%s«..." + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." -msgstr "Zweig umstellen von »%s« abgebrochen (Zusammenführen der Dateien ist notwendig)." +msgstr "" +"Zweig umstellen von »%s« abgebrochen (Zusammenführen der Dateien ist " +"notwendig)." #: lib/checkout_op.tcl:354 msgid "File level merge required." @@ -706,7 +808,13 @@ msgid "" msgstr "" "Die Arbeitskopie ist nicht auf einem lokalen Zweig.\n" "\n" -"Wenn Sie auf einem Zweig arbeiten möchten, erstellen Sie bitte jetzt einen Zweig mit der Auswahl »Abgetrennte Arbeitskopie-Version«." +"Wenn Sie auf einem Zweig arbeiten möchten, erstellen Sie bitte jetzt einen " +"Zweig mit der Auswahl »Abgetrennte Arbeitskopie-Version«." + +#: lib/checkout_op.tcl:446 +#, tcl-format +msgid "Checked out '%s'." +msgstr "Umgestellt auf »%s«." #: lib/checkout_op.tcl:478 #, tcl-format @@ -746,6 +854,236 @@ msgstr "" "\n" "Dies ist ein interner Programmfehler von %s. Programm wird jetzt abgebrochen." +#: lib/choose_font.tcl:39 +msgid "Select" +msgstr "Auswählen" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "Schriftfamilie" + +#: lib/choose_font.tcl:73 +msgid "Font Size" +msgstr "Schriftgröße" + +#: lib/choose_font.tcl:90 +msgid "Font Example" +msgstr "Schriftbeispiel" + +#: lib/choose_font.tcl:101 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" +"Dies ist ein Beispieltext.\n" +"Wenn Ihnen dieser Text gefällt, sollten Sie diese Schriftart wählen." + +#: lib/choose_repository.tcl:57 +msgid "Git Gui" +msgstr "Git Gui" + +#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:241 +msgid "Create New Repository" +msgstr "Neues Projektarchiv" + +#: lib/choose_repository.tcl:111 lib/choose_repository.tcl:328 +msgid "Clone Existing Repository" +msgstr "Projektarchiv kopieren" + +#: lib/choose_repository.tcl:116 lib/choose_repository.tcl:837 +msgid "Open Existing Repository" +msgstr "Projektarchiv öffnen" + +#: lib/choose_repository.tcl:128 +msgid "Next >" +msgstr "Weiter >" + +#: lib/choose_repository.tcl:189 +#, tcl-format +msgid "Location %s already exists." +msgstr "Projektarchiv »%s« existiert bereits." + +#: lib/choose_repository.tcl:195 lib/choose_repository.tcl:202 +#: lib/choose_repository.tcl:209 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "Projektarchiv »%s« konnte nicht erstellt werden:" + +#: lib/choose_repository.tcl:246 lib/choose_repository.tcl:346 +msgid "Directory:" +msgstr "Verzeichnis:" + +#: lib/choose_repository.tcl:275 lib/choose_repository.tcl:400 +#: lib/choose_repository.tcl:871 +msgid "Git Repository" +msgstr "Git Projektarchiv" + +#: lib/choose_repository.tcl:290 lib/choose_repository.tcl:297 +#, tcl-format +msgid "Directory %s already exists." +msgstr "Verzeichnis »%s« existiert bereits." + +#: lib/choose_repository.tcl:302 +#, tcl-format +msgid "File %s already exists." +msgstr "Datei »%s« existiert bereits." + +#: lib/choose_repository.tcl:323 +msgid "Clone" +msgstr "Kopieren" + +#: lib/choose_repository.tcl:336 +msgid "URL:" +msgstr "URL:" + +#: lib/choose_repository.tcl:356 +msgid "Clone Type:" +msgstr "Art der Kopie:" + +#: lib/choose_repository.tcl:362 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "" + +#: lib/choose_repository.tcl:368 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "" + +#: lib/choose_repository.tcl:374 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "" + +#: lib/choose_repository.tcl:406 lib/choose_repository.tcl:455 +#: lib/choose_repository.tcl:597 lib/choose_repository.tcl:667 +#: lib/choose_repository.tcl:877 lib/choose_repository.tcl:885 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "Kein Git-Projektarchiv in »%s« gefunden." + +#: lib/choose_repository.tcl:442 +msgid "Standard only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:446 +msgid "Shared only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:476 +msgid "Failed to configure origin" +msgstr "" + +#: lib/choose_repository.tcl:488 +msgid "Counting objects" +msgstr "" + +#: lib/choose_repository.tcl:489 +msgid "buckets" +msgstr "" + +#: lib/choose_repository.tcl:513 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "" + +#: lib/choose_repository.tcl:549 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "Von »%s« konnte nichts kopiert werden." + +#: lib/choose_repository.tcl:551 lib/choose_repository.tcl:765 +#: lib/choose_repository.tcl:777 +msgid "The 'master' branch has not been initialized." +msgstr "" + +#: lib/choose_repository.tcl:564 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "" + +#: lib/choose_repository.tcl:576 +#, tcl-format +msgid "Cloning from %s" +msgstr "Kopieren von »%s«" + +#: lib/choose_repository.tcl:607 +msgid "Copying objects" +msgstr "Objektdatenbank kopieren" + +#: lib/choose_repository.tcl:608 +msgid "KiB" +msgstr "KB" + +#: lib/choose_repository.tcl:632 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "Objekt kann nicht kopiert werden: %s" + +#: lib/choose_repository.tcl:642 +msgid "Linking objects" +msgstr "Objekte verlinken" + +#: lib/choose_repository.tcl:643 +msgid "objects" +msgstr "Objekte" + +#: lib/choose_repository.tcl:651 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "Objekt kann nicht hartverlinkt werden: %s" + +#: lib/choose_repository.tcl:706 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:717 +msgid "Cannot fetch tags. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:741 +msgid "Cannot determine HEAD. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:750 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "" + +#: lib/choose_repository.tcl:756 +msgid "Clone failed." +msgstr "Kopieren fehlgeschlagen." + +#: lib/choose_repository.tcl:763 +msgid "No default branch obtained." +msgstr "" + +#: lib/choose_repository.tcl:774 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "" + +#: lib/choose_repository.tcl:786 +msgid "Creating working directory" +msgstr "Arbeitskopie erstellen" + +#: lib/choose_repository.tcl:787 +msgid "files" +msgstr "Dateien" + +#: lib/choose_repository.tcl:816 +msgid "Initial file checkout failed." +msgstr "" + +#: lib/choose_repository.tcl:832 +msgid "Open" +msgstr "Öffnen" + +#: lib/choose_repository.tcl:842 +msgid "Repository:" +msgstr "Projektarchiv:" + +#: lib/choose_repository.tcl:891 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "Projektarchiv »%s« konnte nicht geöffnet werden." + #: lib/choose_rev.tcl:53 msgid "This Detached Checkout" msgstr "Abgetrennte Arbeitskopie-Version" @@ -762,7 +1100,7 @@ msgstr "Lokaler Zweig" msgid "Tracking Branch" msgstr "Übernahmezweig" -#: lib/choose_rev.tcl:84 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 msgid "Tag" msgstr "Markierung" @@ -779,6 +1117,18 @@ msgstr "Keine Version ausgewählt." msgid "Revision expression is empty." msgstr "Versions-Ausdruck ist leer." +#: lib/choose_rev.tcl:530 +msgid "Updated" +msgstr "Aktualisiert" + +#: lib/choose_rev.tcl:556 +msgid "Remote" +msgstr "Gegenseite" + +#: lib/choose_rev.tcl:558 +msgid "URL" +msgstr "URL" + #: lib/commit.tcl:9 msgid "" "There is nothing to amend.\n" @@ -829,7 +1179,8 @@ msgid "" msgstr "" "Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n" "\n" -"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden geändert. Vor dem Eintragen einer neuen Version muss neu geladen werden.\n" +"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden " +"geändert. Vor dem Eintragen einer neuen Version muss neu geladen werden.\n" "\n" "Es wird gleich neu geladen.\n" @@ -843,7 +1194,8 @@ msgid "" msgstr "" "Nicht zusammengeführte Dateien können nicht eingetragen werden.\n" "\n" -"Die Datei »%s« hat noch nicht aufgelöste Zusammenführungs-Konflikte. Sie müssen diese Konflikte auflösen, bevor Sie eintragen können.\n" +"Die Datei »%s« hat noch nicht aufgelöste Zusammenführungs-Konflikte. Sie " +"müssen diese Konflikte auflösen, bevor Sie eintragen können.\n" #: lib/commit.tcl:162 #, tcl-format @@ -890,6 +1242,11 @@ msgstr "" msgid "write-tree failed:" msgstr "write-tree fehlgeschlagen:" +#: lib/commit.tcl:275 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "Version »%s« scheint beschädigt zu sein" + #: lib/commit.tcl:279 msgid "" "No changes to commit.\n" @@ -900,7 +1257,8 @@ msgid "" msgstr "" "Keine Änderungen einzutragen.\n" "\n" -"Es gibt keine geänderte Datei bei dieser Version und es wurde auch nichts zusammengeführt.\n" +"Es gibt keine geänderte Datei bei dieser Version und es wurde auch nichts " +"zusammengeführt.\n" "\n" "Das Arbeitsverzeichnis wird daher jetzt neu geladen.\n" @@ -908,6 +1266,11 @@ msgstr "" msgid "No changes to commit." msgstr "Keine Änderungen, die eingetragen werden können." +#: lib/commit.tcl:303 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "" + #: lib/commit.tcl:317 msgid "commit-tree failed:" msgstr "commit-tree fehlgeschlagen:" @@ -921,15 +1284,15 @@ msgstr "update-ref fehlgeschlagen:" msgid "Created commit %s: %s" msgstr "Version %s übertragen: %s" -#: lib/console.tcl:55 +#: lib/console.tcl:57 msgid "Working... please wait..." msgstr "Verarbeitung. Bitte warten..." -#: lib/console.tcl:184 +#: lib/console.tcl:183 msgid "Success" msgstr "Erfolgreich" -#: lib/console.tcl:194 +#: lib/console.tcl:196 msgid "Error: Command Failed" msgstr "Fehler: Kommando fehlgeschlagen" @@ -969,6 +1332,27 @@ msgstr "Objektdatenbank komprimieren" msgid "Verifying the object database with fsck-objects" msgstr "Die Objektdatenbank durch »fsck-objects« überprüfen lassen" +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" +"Dieses Projektarchiv enthält ungefähr %i nicht verknüpfte Objekte.\n" +"\n" +"Für eine optimale Performance wird empfohlen, die Datenbank des Projektarchivs zu komprimieren, sobald mehr als %i nicht verknüpfte Objekte vorliegen.\n" +"\n" +"Soll die Datenbank jetzt komprimiert werden?" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Ungültiges Datum von Git: %s" + #: lib/diff.tcl:42 #, tcl-format msgid "" @@ -991,19 +1375,37 @@ msgstr "" "Das Arbeitsverzeichnis wird jetzt neu geladen, um diese Änderung bei allen " "Dateien zu prüfen." -#: lib/diff.tcl:97 +#: lib/diff.tcl:81 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "Vergleich von »%s« laden..." + +#: lib/diff.tcl:114 lib/diff.tcl:184 +#, tcl-format +msgid "Unable to display %s" +msgstr "Datei »%s« kann nicht angezeigt werden" + +#: lib/diff.tcl:115 msgid "Error loading file:" msgstr "Fehler beim Laden der Datei:" -#: lib/diff.tcl:162 +#: lib/diff.tcl:122 +msgid "Git Repository (subproject)" +msgstr "Git-Projektarchiv (Unterprojekt)" + +#: lib/diff.tcl:134 +msgid "* Binary file (not showing content)." +msgstr "* Binärdatei (Inhalt wird nicht angezeigt)" + +#: lib/diff.tcl:185 msgid "Error loading diff:" msgstr "Fehler beim Laden des Vergleichs:" -#: lib/diff.tcl:278 +#: lib/diff.tcl:302 msgid "Failed to unstage selected hunk." msgstr "Fehler beim Herausnehmen der gewählten Dateien aus der Bereitstellung." -#: lib/diff.tcl:285 +#: lib/diff.tcl:309 msgid "Failed to stage selected hunk." msgstr "Fehler beim Bereitstellen der gewählten Dateien." @@ -1017,24 +1419,35 @@ msgstr "Warnung" #: lib/error.tcl:81 msgid "You must correct the above errors before committing." -msgstr "Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können." +msgstr "" +"Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können." -#: lib/index.tcl:364 +#: lib/index.tcl:271 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "Datei »%s« aus der Bereitstellung herausnehmen" + +#: lib/index.tcl:315 +#, tcl-format +msgid "Adding %s" +msgstr "»%s« hinzufügen..." + +#: lib/index.tcl:370 #, tcl-format msgid "Revert changes in file %s?" msgstr "Änderungen in Datei »%s« revidieren?" -#: lib/index.tcl:366 +#: lib/index.tcl:372 #, tcl-format msgid "Revert changes in these %i files?" msgstr "Änderungen in den gewählten %i Dateien revidieren?" -#: lib/index.tcl:372 +#: lib/index.tcl:378 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Alle nicht bereitgestellten Änderungen werden beim Revidieren verloren gehen." -#: lib/index.tcl:375 +#: lib/index.tcl:381 msgid "Do Nothing" msgstr "Nichts tun" @@ -1046,7 +1459,8 @@ msgid "" msgstr "" "Zusammenführen kann nicht gleichzeitig mit Nachbessern durchgeführt werden.\n" "\n" -"Sie müssen zuerst die Nachbesserungs-Version abschließen, bevor Sie zusammenführen können.\n" +"Sie müssen zuerst die Nachbesserungs-Version abschließen, bevor Sie " +"zusammenführen können.\n" #: lib/merge.tcl:27 msgid "" @@ -1076,7 +1490,10 @@ msgid "" msgstr "" "Zusammenführung mit Konflikten.\n" "\n" -"Die Datei »%s« enthält Konflikte beim Zusammenführen. Sie müssen diese Konflikte per Hand auflösen. Anschließend müssen Sie die Datei wieder bereitstellen und eintragen, um die Zusammenführung abzuschließen. Erst danach kann eine neue Zusammenführung begonnen werden.\n" +"Die Datei »%s« enthält Konflikte beim Zusammenführen. Sie müssen diese " +"Konflikte per Hand auflösen. Anschließend müssen Sie die Datei wieder " +"bereitstellen und eintragen, um die Zusammenführung abzuschließen. Erst " +"danach kann eine neue Zusammenführung begonnen werden.\n" #: lib/merge.tcl:54 #, tcl-format @@ -1090,7 +1507,10 @@ msgid "" msgstr "" "Es liegen Änderungen vor.\n" "\n" -"Die Datei »%s« wurde geändert. Sie sollten zuerst die bereitgestellte Version abschließen, bevor Sie eine Zusammenführung beginnen. Mit dieser Reihenfolge können Sie mögliche Konflikte beim Zusammenführen wesentlich einfacher beheben oder abbrechen.\n" +"Die Datei »%s« wurde geändert. Sie sollten zuerst die bereitgestellte " +"Version abschließen, bevor Sie eine Zusammenführung beginnen. Mit dieser " +"Reihenfolge können Sie mögliche Konflikte beim Zusammenführen wesentlich " +"einfacher beheben oder abbrechen.\n" #: lib/merge.tcl:106 #, tcl-format @@ -1139,7 +1559,8 @@ msgid "" msgstr "" "Zusammenführen abbrechen?\n" "\n" -"Wenn Sie abbrechen, gehen alle noch nicht eingetragenen Änderungen verloren.\n" +"Wenn Sie abbrechen, gehen alle noch nicht eingetragenen Änderungen " +"verloren.\n" "\n" "Zusammenführen jetzt abbrechen?" @@ -1153,7 +1574,8 @@ msgid "" msgstr "" "Änderungen zurücksetzen?\n" "\n" -"Wenn Sie zurücksetzen, gehen alle noch nicht eingetragenen Änderungen verloren.\n" +"Wenn Sie zurücksetzen, gehen alle noch nicht eingetragenen Änderungen " +"verloren.\n" "\n" "Änderungen jetzt zurücksetzen?" @@ -1230,7 +1652,20 @@ msgstr "Anzahl der Kontextzeilen beim Vergleich" msgid "New Branch Name Template" msgstr "Namensvorschlag für neue Zweige" -#: lib/option.tcl:305 +#: lib/option.tcl:258 +msgid "Change Font" +msgstr "Schriftart ändern" + +#: lib/option.tcl:262 +#, tcl-format +msgid "Choose %s" +msgstr "%s wählen" + +#: lib/option.tcl:268 +msgid "pt." +msgstr "pt." + +#: lib/option.tcl:311 msgid "Failed to completely save options:" msgstr "Optionen konnten nicht gespeichert werden:" @@ -1242,11 +1677,11 @@ msgstr "Zweig im Projektarchiv der Gegenseite löschen" msgid "From Repository" msgstr "Von Projektarchiv" -#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 msgid "Remote:" msgstr "Gegenseite:" -#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 msgid "Arbitrary URL:" msgstr "Kommunikation mit URL:" @@ -1270,12 +1705,26 @@ msgstr "Immer (Keine Zusammenführungsprüfung)" msgid "A branch is required for 'Merged Into'." msgstr "Für »Zusammenführen mit« muss ein Zweig angegeben werden." +#: lib/remote_branch_delete.tcl:184 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" +"Folgende Zweige sind noch nicht mit »%s« zusammengeführt:\n" +"\n" +" - %s" + #: lib/remote_branch_delete.tcl:189 #, tcl-format msgid "" "One or more of the merge tests failed because you have not fetched the " "necessary commits. Try fetching from %s first." -msgstr "Ein oder mehrere Zusammenführungen sind fehlgeschlagen, da Sie nicht die notwendigen Versionen vorher angefordert haben. Sie sollten versuchen, zuerst von »%s« anzufordern." +msgstr "" +"Ein oder mehrere Zusammenführungen sind fehlgeschlagen, da Sie nicht die " +"notwendigen Versionen vorher angefordert haben. Sie sollten versuchen, " +"zuerst von »%s« anzufordern." #: lib/remote_branch_delete.tcl:207 msgid "Please select one or more branches to delete." @@ -1304,22 +1753,22 @@ msgstr "Kein Projektarchiv ausgewählt." #: lib/remote_branch_delete.tcl:291 #, tcl-format msgid "Scanning %s..." -msgstr "%s laden..." +msgstr "»%s« laden..." #: lib/remote.tcl:162 #, tcl-format -msgid "Fetch from %s..." -msgstr "Von »%s« anfordern..." +msgid "Fetch from %s" +msgstr "Von »%s« anfordern" #: lib/remote.tcl:172 #, tcl-format -msgid "Prune from %s..." -msgstr "Löschen von »%s«..." +msgid "Prune from %s" +msgstr "Löschen von »%s«" #: lib/remote.tcl:206 #, tcl-format -msgid "Push to %s..." -msgstr "Nach %s ausliefern..." +msgid "Push to %s" +msgstr "Nach »%s« ausliefern" #: lib/shortcut.tcl:26 lib/shortcut.tcl:74 msgid "Cannot write script:" @@ -1329,51 +1778,70 @@ msgstr "Fehler beim Schreiben des Scripts:" msgid "Cannot write icon:" msgstr "Fehler beim Erstellen des Icons:" -#: lib/status_bar.tcl:58 +#: 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 +#, tcl-format +msgid "fetch %s" +msgstr "»%s« anfordern" + #: lib/transport.tcl:7 #, tcl-format msgid "Fetching new changes from %s" msgstr "Neue Änderungen von »%s« holen" +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "" + #: lib/transport.tcl:19 #, tcl-format msgid "Pruning tracking branches deleted from %s" msgstr "Übernahmezweige löschen, die in »%s« gelöscht wurden" +#: lib/transport.tcl:25 lib/transport.tcl:71 +#, tcl-format +msgid "push %s" +msgstr "»%s« ausliefern..." + #: lib/transport.tcl:26 #, tcl-format msgid "Pushing changes to %s" -msgstr "Änderungen nach %s ausliefern" +msgstr "Änderungen nach »%s« ausliefern" -#: lib/transport.tcl:68 +#: lib/transport.tcl:72 #, tcl-format msgid "Pushing %s %s to %s" msgstr "%s %s nach %s ausliefern" -#: lib/transport.tcl:84 +#: lib/transport.tcl:89 msgid "Push Branches" msgstr "Zweige ausliefern" -#: lib/transport.tcl:98 +#: lib/transport.tcl:103 msgid "Source Branches" msgstr "Herkunftszweige" -#: lib/transport.tcl:115 +#: lib/transport.tcl:120 msgid "Destination Repository" msgstr "Ziel-Projektarchiv" -#: lib/transport.tcl:153 +#: lib/transport.tcl:158 msgid "Transfer Options" msgstr "Netzwerk-Einstellungen" -#: lib/transport.tcl:155 +#: lib/transport.tcl:160 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "Überschreiben von existierenden Zweigen erzwingen (könnte Änderungen löschen)" + +#: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" msgstr "Kompaktes Datenformat benutzen (für langsame Netzverbindungen)" -#: lib/transport.tcl:159 +#: lib/transport.tcl:168 msgid "Include tags" msgstr "Mit Markierungen übertragen" From be700fe30fd17b3f9b600de9110c74035091a007 Mon Sep 17 00:00:00 2001 From: Steffen Prohaska Date: Sat, 6 Oct 2007 11:29:02 +0200 Subject: [PATCH 88/91] git-gui: add directory git-gui is located in to PATH (on Windows) This commit modifies PATH to include a good guess where git could be found. The first location to search for executable is the directory git-gui is installed in. This is a good guess for a sane installation. Even if git is not available in PATH, git-gui is now able to find it. Hence git-gui can be passed to wish as an absolute path without caring about the environment. We must modify PATH to be able to spawn shell based git commands. For builtins it would be sufficient to located them and execute them with their absolute path. But for shell based git commmands PATH needs to be modified. Signed-off-by: Steffen Prohaska Signed-off-by: Shawn O. Pearce --- git-gui.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/git-gui.sh b/git-gui.sh index e17efb7d9f..6b7bdbca21 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -343,6 +343,9 @@ proc _which {what} { $env(PATH)] {;}] set _search_exe .exe } elseif {[is_Windows]} { + set gitguidir [file dirname [info script]] + regsub -all ";" $gitguidir "\\;" gitguidir + set env(PATH) "$gitguidir;$env(PATH)" set _search_path [split $env(PATH) {;}] set _search_exe .exe } else { From a16b74e72c1dfb6cdef2c17d564d9857ab386d7d Mon Sep 17 00:00:00 2001 From: Steffen Prohaska Date: Wed, 10 Oct 2007 08:58:58 +0200 Subject: [PATCH 89/91] git-gui: set NO_MSGFMT to force using pure tcl replacement in msysgit Shawn's git-gui Makefile supports the pure tcl replacement for msgfmt if setting NO_MSGFMT. This patch sets the NO_MSGFMT for msysgit. Signed-off-by: Steffen Prohaska Signed-off-by: Shawn O. Pearce --- Makefile | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile b/Makefile index 818a0ab45c..c8054507e9 100644 --- a/Makefile +++ b/Makefile @@ -126,6 +126,9 @@ ifeq ($(uname_S),Darwin) GITGUI_MACOSXAPP := YesPlease endif endif +ifneq (,$(findstring MINGW,$(uname_S))) + NO_MSGFMT=1 +endif ifdef GITGUI_MACOSXAPP GITGUI_MAIN := git-gui.tcl From 99fe594d9677d55d773db3ab180310a3d3bf090b Mon Sep 17 00:00:00 2001 From: Steffen Prohaska Date: Wed, 10 Oct 2007 08:58:59 +0200 Subject: [PATCH 90/91] git-gui: add mingw specific startup wrapper The wrapper adds the directory it is installed in to PATH. This is required for the git commands implemented in shell. git-gui fails to launch them if PATH is not modified. The wrapper script also accepts an optional command line switch '--working-dir ' and changes to before launching the actual git-gui. This is required to implement the "Git Gui Here" Explorer shell extension. As a last step the original git-gui script is launched, which is expected to be located in the same directory under the name git-gui.tcl. Signed-off-by: Steffen Prohaska Signed-off-by: Shawn O. Pearce --- Makefile | 20 ++++++++++++++++++++ windows/git-gui.sh | 16 ++++++++++++++++ 2 files changed, 36 insertions(+) create mode 100644 windows/git-gui.sh diff --git a/Makefile b/Makefile index c8054507e9..2ad8846198 100644 --- a/Makefile +++ b/Makefile @@ -128,6 +128,7 @@ ifeq ($(uname_S),Darwin) endif ifneq (,$(findstring MINGW,$(uname_S))) NO_MSGFMT=1 + GITGUI_WINDOWS_WRAPPER := YesPlease endif ifdef GITGUI_MACOSXAPP @@ -168,6 +169,13 @@ Git\ Gui.app: GIT-VERSION-FILE GIT-GUI-VARS \ mv '$@'+ '$@' endif +ifdef GITGUI_WINDOWS_WRAPPER +GITGUI_MAIN := git-gui.tcl + +git-gui: windows/git-gui.sh + cp $< $@ +endif + $(GITGUI_MAIN): git-gui.sh GIT-VERSION-FILE GIT-GUI-VARS $(QUIET_GEN)rm -f $@ $@+ && \ sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ @@ -233,12 +241,18 @@ GIT-GUI-VARS: .FORCE-GIT-GUI-VARS ifdef GITGUI_MACOSXAPP all:: git-gui Git\ Gui.app endif +ifdef GITGUI_WINDOWS_WRAPPER +all:: git-gui +endif 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)$(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)' +endif $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(INSTALL_D1) $(QUIET)$(INSTALL_R0)lib/tclIndex $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' $(QUIET)$(INSTALL_R0)lib/git-gui.ico $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' @@ -254,6 +268,9 @@ uninstall: $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(gitexecdir_SQ)' $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/git-gui $(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) +endif $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(libdir_SQ)' $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/tclIndex $(REMOVE_F1) $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/git-gui.ico $(REMOVE_F1) @@ -279,6 +296,9 @@ clean:: ifdef GITGUI_MACOSXAPP $(RM_RF) 'Git Gui.app'* git-gui endif +ifdef GITGUI_WINDOWS_WRAPPER + $(RM_RF) git-gui +endif .PHONY: all install uninstall dist-version clean .PHONY: .FORCE-GIT-VERSION-FILE diff --git a/windows/git-gui.sh b/windows/git-gui.sh new file mode 100644 index 0000000000..98f32c0a07 --- /dev/null +++ b/windows/git-gui.sh @@ -0,0 +1,16 @@ +#!/bin/sh +# Tcl ignores the next line -*- tcl -*- \ +exec wish "$0" -- "$@" + +if { $argc >=2 && [lindex $argv 0] == "--working-dir" } { + cd [lindex $argv 1] + set argv [lrange $argv 2 end] + incr argc -2 +} + +set gitguidir [file dirname [info script]] +regsub -all ";" $gitguidir "\\;" gitguidir +set env(PATH) "$gitguidir;$env(PATH)" +unset gitguidir + +source [file join [file dirname [info script]] git-gui.tcl] From 57364320bf5a15e849ea627423397eda3f34ebb7 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 10 Oct 2007 04:11:43 -0400 Subject: [PATCH 91/91] git-gui: Updated po strings based on current sources --- po/de.po | 453 +++++++++-------- po/git-gui.pot | 804 +++++++++++++++++++++++------- po/hu.po | 843 ++++++++++++++++++++++++------- po/it.po | 872 ++++++++++++++++++++++++-------- po/ja.po | 841 ++++++++++++++++++++++++------- po/ru.po | 1290 +++++++++++++++++++++++++++++++----------------- po/zh_cn.po | 987 ++++++++++++++++++++++++++---------- 7 files changed, 4428 insertions(+), 1662 deletions(-) diff --git a/po/de.po b/po/de.po index 60b9ea52dc..4ba2fbee51 100644 --- a/po/de.po +++ b/po/de.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-10-05 22:01+0200\n" +"POT-Creation-Date: 2007-10-10 04:04-0400\n" "PO-Revision-Date: 2007-10-05 22:27+0200\n" "Last-Translator: Christian Stimming \n" "Language-Team: German\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:631 git-gui.sh:645 git-gui.sh:658 git-gui.sh:740 -#: git-gui.sh:759 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 msgid "git-gui: fatal error" msgstr "git-gui: Programmfehler" -#: git-gui.sh:592 +#: git-gui.sh:595 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Ungültige Zeichensatz-Angabe in %s:" -#: git-gui.sh:617 +#: git-gui.sh:620 msgid "Main Font" msgstr "Programmschriftart" -#: git-gui.sh:618 +#: git-gui.sh:621 msgid "Diff/Console Font" msgstr "Vergleich-Schriftart" -#: git-gui.sh:632 +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "Git kann im PATH nicht gefunden werden." -#: git-gui.sh:659 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Git Versionsangabe kann nicht erkannt werden:" -#: git-gui.sh:676 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -60,79 +60,81 @@ msgstr "" "\n" "Soll angenommen werden, »%s« sei Version 1.5.0?\n" -#: git-gui.sh:849 +#: git-gui.sh:853 msgid "Git directory not found:" msgstr "Git-Verzeichnis nicht gefunden:" -#: git-gui.sh:856 +#: git-gui.sh:860 msgid "Cannot move to top of working directory:" -msgstr "Es konnte nicht in das oberste Verzeichnis der Arbeitskopie gewechselt werden:" +msgstr "" +"Es konnte nicht in das oberste Verzeichnis der Arbeitskopie gewechselt " +"werden:" -#: git-gui.sh:863 +#: git-gui.sh:867 msgid "Cannot use funny .git directory:" msgstr "Unerwartete Struktur des .git Verzeichnis:" -#: git-gui.sh:868 +#: git-gui.sh:872 msgid "No working directory" msgstr "Kein Arbeitsverzeichnis" -#: git-gui.sh:1015 +#: git-gui.sh:1019 msgid "Refreshing file status..." msgstr "Dateistatus aktualisieren..." -#: git-gui.sh:1080 +#: git-gui.sh:1084 msgid "Scanning for modified files ..." msgstr "Nach geänderten Dateien suchen..." -#: git-gui.sh:1255 lib/browser.tcl:245 +#: git-gui.sh:1259 lib/browser.tcl:245 msgid "Ready." msgstr "Bereit." -#: git-gui.sh:1521 +#: git-gui.sh:1525 msgid "Unmodified" msgstr "Unverändert" -#: git-gui.sh:1523 +#: git-gui.sh:1527 msgid "Modified, not staged" msgstr "Verändert, nicht bereitgestellt" -#: git-gui.sh:1524 git-gui.sh:1529 +#: git-gui.sh:1528 git-gui.sh:1533 msgid "Staged for commit" msgstr "Bereitgestellt zum Eintragen" -#: git-gui.sh:1525 git-gui.sh:1530 +#: git-gui.sh:1529 git-gui.sh:1534 msgid "Portions staged for commit" msgstr "Teilweise bereitgestellt zum Eintragen" -#: git-gui.sh:1526 git-gui.sh:1531 +#: git-gui.sh:1530 git-gui.sh:1535 msgid "Staged for commit, missing" msgstr "Bereitgestellt zum Eintragen, fehlend" -#: git-gui.sh:1528 +#: git-gui.sh:1532 msgid "Untracked, not staged" msgstr "Nicht unter Versionskontrolle, nicht bereitgestellt" -#: git-gui.sh:1533 +#: git-gui.sh:1537 msgid "Missing" msgstr "Fehlend" -#: git-gui.sh:1534 +#: git-gui.sh:1538 msgid "Staged for removal" msgstr "Bereitgestellt zum Löschen" -#: git-gui.sh:1535 +#: git-gui.sh:1539 msgid "Staged for removal, still present" msgstr "Bereitgestellt zum Löschen, trotzdem vorhanden" -#: git-gui.sh:1537 git-gui.sh:1538 git-gui.sh:1539 git-gui.sh:1540 +#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544 msgid "Requires merge resolution" msgstr "Konfliktauflösung nötig" -#: git-gui.sh:1575 +#: git-gui.sh:1579 msgid "Starting gitk... please wait..." msgstr "Gitk wird gestartet... bitte warten." -#: git-gui.sh:1584 +#: git-gui.sh:1588 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -143,291 +145,297 @@ msgstr "" "\n" "%s existiert nicht" -#: git-gui.sh:1784 lib/choose_repository.tcl:64 +#: git-gui.sh:1788 lib/choose_repository.tcl:32 msgid "Repository" msgstr "Projektarchiv" -#: git-gui.sh:1785 +#: git-gui.sh:1789 msgid "Edit" msgstr "Bearbeiten" -#: git-gui.sh:1787 lib/choose_rev.tcl:560 +#: git-gui.sh:1791 lib/choose_rev.tcl:560 msgid "Branch" msgstr "Zweig" -#: git-gui.sh:1790 lib/choose_rev.tcl:547 +#: git-gui.sh:1794 lib/choose_rev.tcl:547 msgid "Commit@@noun" msgstr "Version" -#: git-gui.sh:1793 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "Zusammenführen" -#: git-gui.sh:1794 -msgid "Fetch" -msgstr "Anfordern" +#: git-gui.sh:1798 lib/choose_rev.tcl:556 +msgid "Remote" +msgstr "Gegenseite" -#: git-gui.sh:1795 git-gui.sh:2294 lib/transport.tcl:93 lib/transport.tcl:182 -msgid "Push" -msgstr "Ausliefern" - -#: git-gui.sh:1804 +#: git-gui.sh:1807 msgid "Browse Current Branch's Files" msgstr "Aktuellen Zweig durchblättern" -#: git-gui.sh:1808 +#: git-gui.sh:1811 msgid "Browse Branch Files..." msgstr "Einen Zweig durchblättern..." -#: git-gui.sh:1813 +#: git-gui.sh:1816 msgid "Visualize Current Branch's History" msgstr "Aktuellen Zweig darstellen" -#: git-gui.sh:1817 +#: git-gui.sh:1820 msgid "Visualize All Branch History" msgstr "Alle Zweige darstellen" -#: git-gui.sh:1824 +#: git-gui.sh:1827 #, tcl-format msgid "Browse %s's Files" msgstr "Zweig »%s« durchblättern" -#: git-gui.sh:1826 +#: git-gui.sh:1829 #, tcl-format msgid "Visualize %s's History" msgstr "Historie von »%s« darstellen" -#: git-gui.sh:1831 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Datenbankstatistik" -#: git-gui.sh:1834 lib/database.tcl:34 +#: git-gui.sh:1837 lib/database.tcl:34 msgid "Compress Database" msgstr "Datenbank komprimieren" -#: git-gui.sh:1837 +#: git-gui.sh:1840 msgid "Verify Database" msgstr "Datenbank überprüfen" -#: git-gui.sh:1844 git-gui.sh:1848 git-gui.sh:1852 lib/shortcut.tcl:9 +#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9 #: lib/shortcut.tcl:45 lib/shortcut.tcl:84 msgid "Create Desktop Icon" msgstr "Desktop-Icon erstellen" -#: git-gui.sh:1857 lib/choose_repository.tcl:68 lib/choose_repository.tcl:132 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95 msgid "Quit" msgstr "Beenden" -#: git-gui.sh:1864 +#: git-gui.sh:1867 msgid "Undo" msgstr "Rückgängig" -#: git-gui.sh:1867 +#: git-gui.sh:1870 msgid "Redo" msgstr "Wiederholen" -#: git-gui.sh:1871 git-gui.sh:2358 +#: git-gui.sh:1874 git-gui.sh:2366 msgid "Cut" msgstr "Ausschneiden" -#: git-gui.sh:1874 git-gui.sh:2361 git-gui.sh:2432 git-gui.sh:2504 +#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512 #: lib/console.tcl:67 msgid "Copy" msgstr "Kopieren" -#: git-gui.sh:1877 git-gui.sh:2364 +#: git-gui.sh:1880 git-gui.sh:2372 msgid "Paste" msgstr "Einfügen" -#: git-gui.sh:1880 git-gui.sh:2367 lib/branch_delete.tcl:26 +#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Löschen" -#: git-gui.sh:1884 git-gui.sh:2371 git-gui.sh:2508 lib/console.tcl:69 +#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69 msgid "Select All" msgstr "Alle auswählen" -#: git-gui.sh:1893 +#: git-gui.sh:1896 msgid "Create..." msgstr "Erstellen..." -#: git-gui.sh:1899 +#: git-gui.sh:1902 msgid "Checkout..." msgstr "Umstellen..." -#: git-gui.sh:1905 +#: git-gui.sh:1908 msgid "Rename..." msgstr "Umbenennen..." -#: git-gui.sh:1910 git-gui.sh:2008 +#: git-gui.sh:1913 git-gui.sh:2012 msgid "Delete..." msgstr "Löschen..." -#: git-gui.sh:1915 +#: git-gui.sh:1918 msgid "Reset..." msgstr "Zurücksetzen..." -#: git-gui.sh:1927 git-gui.sh:2305 +#: git-gui.sh:1930 git-gui.sh:2313 msgid "New Commit" msgstr "Neue Version" -#: git-gui.sh:1935 git-gui.sh:2312 +#: git-gui.sh:1938 git-gui.sh:2320 msgid "Amend Last Commit" msgstr "Letzte Version nachbessern" -#: git-gui.sh:1944 git-gui.sh:2272 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Neu laden" -#: git-gui.sh:1950 +#: git-gui.sh:1953 msgid "Stage To Commit" msgstr "Zum Eintragen bereitstellen" -#: git-gui.sh:1955 +#: git-gui.sh:1958 msgid "Stage Changed Files To Commit" msgstr "Geänderte Dateien zum Eintragen bereitstellen" -#: git-gui.sh:1961 +#: git-gui.sh:1964 msgid "Unstage From Commit" msgstr "Aus der Bereitstellung herausnehmen" -#: git-gui.sh:1966 lib/index.tcl:382 +#: git-gui.sh:1969 lib/index.tcl:352 msgid "Revert Changes" msgstr "Änderungen revidieren" -#: git-gui.sh:1973 git-gui.sh:2284 git-gui.sh:2382 +#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390 msgid "Sign Off" msgstr "Abzeichnen" -#: git-gui.sh:1977 git-gui.sh:2288 +#: git-gui.sh:1980 git-gui.sh:2296 msgid "Commit@@verb" msgstr "Eintragen" -#: git-gui.sh:1988 +#: git-gui.sh:1991 msgid "Local Merge..." msgstr "Lokales Zusammenführen..." -#: git-gui.sh:1993 +#: git-gui.sh:1996 msgid "Abort Merge..." msgstr "Zusammenführen abbrechen..." -#: git-gui.sh:2005 +#: git-gui.sh:2008 msgid "Push..." msgstr "Ausliefern..." -#: git-gui.sh:2015 lib/choose_repository.tcl:73 +#: git-gui.sh:2019 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Apple" -#: git-gui.sh:2018 git-gui.sh:2036 lib/choose_repository.tcl:76 -#: lib/choose_repository.tcl:82 lib/option.tcl:65 +#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "Über %s" -#: git-gui.sh:2020 git-gui.sh:2026 git-gui.sh:2550 +#: git-gui.sh:2026 +msgid "Preferences..." +msgstr "" + +#: git-gui.sh:2034 git-gui.sh:2558 msgid "Options..." msgstr "Optionen..." -#: git-gui.sh:2032 lib/choose_repository.tcl:79 +#: git-gui.sh:2040 lib/choose_repository.tcl:47 msgid "Help" msgstr "Hilfe" -#: git-gui.sh:2073 +#: git-gui.sh:2081 msgid "Online Documentation" msgstr "Online-Dokumentation" -#: git-gui.sh:2157 +#: git-gui.sh:2165 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" -#: git-gui.sh:2190 +#: git-gui.sh:2198 msgid "Current Branch:" msgstr "Aktueller Zweig:" -#: git-gui.sh:2211 -msgid "Staged Changes (Will Be Committed)" +#: git-gui.sh:2219 +#, fuzzy +msgid "Staged Changes (Will Commit)" msgstr "Bereitgestellte Änderungen (werden eingetragen)" -#: git-gui.sh:2231 -msgid "Unstaged Changes (Will Not Be Committed)" -msgstr "Nicht bereitgestellte Änderungen (werden nicht eingetragen)" +#: git-gui.sh:2239 +#, fuzzy +msgid "Unstaged Changes" +msgstr "Geänderte bereitstellen" -#: git-gui.sh:2278 +#: git-gui.sh:2286 msgid "Stage Changed" msgstr "Geänderte bereitstellen" -#: git-gui.sh:2324 +#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182 +msgid "Push" +msgstr "Ausliefern" + +#: git-gui.sh:2332 msgid "Initial Commit Message:" msgstr "Beschreibung der ersten Version:" -#: git-gui.sh:2325 +#: git-gui.sh:2333 msgid "Amended Commit Message:" msgstr "Beschreibung der nachgebesserten Version:" -#: git-gui.sh:2326 +#: git-gui.sh:2334 msgid "Amended Initial Commit Message:" msgstr "Beschreibung der nachgebesserten ersten Version:" -#: git-gui.sh:2327 +#: git-gui.sh:2335 msgid "Amended Merge Commit Message:" msgstr "Beschreibung der nachgebesserten Zusammenführungs-Version:" -#: git-gui.sh:2328 +#: git-gui.sh:2336 msgid "Merge Commit Message:" msgstr "Beschreibung der Zusammenführungs-Version:" -#: git-gui.sh:2329 +#: git-gui.sh:2337 msgid "Commit Message:" msgstr "Versionsbeschreibung:" -#: git-gui.sh:2374 git-gui.sh:2512 lib/console.tcl:71 +#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71 msgid "Copy All" msgstr "Alle kopieren" -#: git-gui.sh:2398 lib/blame.tcl:104 +#: git-gui.sh:2406 lib/blame.tcl:104 msgid "File:" msgstr "Datei:" -#: git-gui.sh:2500 +#: git-gui.sh:2508 msgid "Refresh" msgstr "Aktualisieren" -#: git-gui.sh:2521 +#: git-gui.sh:2529 msgid "Apply/Reverse Hunk" msgstr "Änderung anwenden/umkehren" -#: git-gui.sh:2527 +#: git-gui.sh:2535 msgid "Decrease Font Size" msgstr "Schriftgröße verkleinern" -#: git-gui.sh:2531 +#: git-gui.sh:2539 msgid "Increase Font Size" msgstr "Schriftgröße vergrößern" -#: git-gui.sh:2536 +#: git-gui.sh:2544 msgid "Show Less Context" msgstr "Weniger Kontext anzeigen" -#: git-gui.sh:2543 +#: git-gui.sh:2551 msgid "Show More Context" msgstr "Mehr Kontext anzeigen" -#: git-gui.sh:2557 +#: git-gui.sh:2565 msgid "Unstage Hunk From Commit" msgstr "Aus der Bereitstellung herausnehmen" -#: git-gui.sh:2559 +#: git-gui.sh:2567 msgid "Stage Hunk For Commit" msgstr "In die Bereitstellung hinzufügen" -#: git-gui.sh:2578 +#: git-gui.sh:2586 msgid "Initializing..." msgstr "Initialisieren..." -#: git-gui.sh:2669 +#: git-gui.sh:2677 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -438,14 +446,14 @@ msgid "" "\n" msgstr "" -#: git-gui.sh:2699 +#: git-gui.sh:2707 msgid "" "\n" "This is due to a known issue with the\n" "Tcl binary distributed by Cygwin." msgstr "" -#: git-gui.sh:2704 +#: git-gui.sh:2712 #, tcl-format msgid "" "\n" @@ -456,6 +464,10 @@ msgid "" "~/.gitconfig file.\n" msgstr "" +#: lib/about.tcl:25 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - eine grafische Oberfläche für Git." + #: lib/blame.tcl:77 msgid "File Viewer" msgstr "Datei-Browser" @@ -528,7 +540,7 @@ msgstr "Umstellen" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 #: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 #: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 -#: lib/option.tcl:172 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Abbrechen" @@ -536,8 +548,7 @@ msgstr "Abbrechen" msgid "Revision" msgstr "Version" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 -#: lib/option.tcl:280 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 msgid "Options" msgstr "Optionen" @@ -557,7 +568,7 @@ msgstr "Zweig erstellen" msgid "Create New Branch" msgstr "Neuen Zweig erstellen" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:236 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199 msgid "Create" msgstr "Erstellen" @@ -710,9 +721,9 @@ msgstr "[Nach oben]" msgid "Browse Branch Files" msgstr "Dateien des Zweigs durchblättern" -#: lib/browser.tcl:277 lib/choose_repository.tcl:252 -#: lib/choose_repository.tcl:342 lib/choose_repository.tcl:352 -#: lib/choose_repository.tcl:848 +#: lib/browser.tcl:277 lib/choose_repository.tcl:215 +#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315 +#: lib/choose_repository.tcl:811 msgid "Browse" msgstr "Blättern" @@ -878,208 +889,209 @@ msgstr "" "Dies ist ein Beispieltext.\n" "Wenn Ihnen dieser Text gefällt, sollten Sie diese Schriftart wählen." -#: lib/choose_repository.tcl:57 +#: lib/choose_repository.tcl:25 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:241 +#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 msgid "Create New Repository" msgstr "Neues Projektarchiv" -#: lib/choose_repository.tcl:111 lib/choose_repository.tcl:328 +#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 msgid "Clone Existing Repository" msgstr "Projektarchiv kopieren" -#: lib/choose_repository.tcl:116 lib/choose_repository.tcl:837 +#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 msgid "Open Existing Repository" msgstr "Projektarchiv öffnen" -#: lib/choose_repository.tcl:128 +#: lib/choose_repository.tcl:91 msgid "Next >" msgstr "Weiter >" -#: lib/choose_repository.tcl:189 +#: lib/choose_repository.tcl:152 #, tcl-format msgid "Location %s already exists." msgstr "Projektarchiv »%s« existiert bereits." -#: lib/choose_repository.tcl:195 lib/choose_repository.tcl:202 -#: lib/choose_repository.tcl:209 +#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 +#: lib/choose_repository.tcl:172 #, tcl-format msgid "Failed to create repository %s:" msgstr "Projektarchiv »%s« konnte nicht erstellt werden:" -#: lib/choose_repository.tcl:246 lib/choose_repository.tcl:346 +#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 msgid "Directory:" msgstr "Verzeichnis:" -#: lib/choose_repository.tcl:275 lib/choose_repository.tcl:400 -#: lib/choose_repository.tcl:871 +#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 +#: lib/choose_repository.tcl:834 msgid "Git Repository" msgstr "Git Projektarchiv" -#: lib/choose_repository.tcl:290 lib/choose_repository.tcl:297 +#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260 #, tcl-format msgid "Directory %s already exists." msgstr "Verzeichnis »%s« existiert bereits." -#: lib/choose_repository.tcl:302 +#: lib/choose_repository.tcl:265 #, tcl-format msgid "File %s already exists." msgstr "Datei »%s« existiert bereits." -#: lib/choose_repository.tcl:323 +#: lib/choose_repository.tcl:286 msgid "Clone" msgstr "Kopieren" -#: lib/choose_repository.tcl:336 +#: lib/choose_repository.tcl:299 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:356 +#: lib/choose_repository.tcl:319 msgid "Clone Type:" msgstr "Art der Kopie:" -#: lib/choose_repository.tcl:362 +#: lib/choose_repository.tcl:325 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "" -#: lib/choose_repository.tcl:368 +#: lib/choose_repository.tcl:331 msgid "Full Copy (Slower, Redundant Backup)" msgstr "" -#: lib/choose_repository.tcl:374 +#: lib/choose_repository.tcl:337 msgid "Shared (Fastest, Not Recommended, No Backup)" msgstr "" -#: lib/choose_repository.tcl:406 lib/choose_repository.tcl:455 -#: lib/choose_repository.tcl:597 lib/choose_repository.tcl:667 -#: lib/choose_repository.tcl:877 lib/choose_repository.tcl:885 +#: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418 +#: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:840 lib/choose_repository.tcl:848 #, tcl-format msgid "Not a Git repository: %s" msgstr "Kein Git-Projektarchiv in »%s« gefunden." -#: lib/choose_repository.tcl:442 +#: lib/choose_repository.tcl:405 msgid "Standard only available for local repository." msgstr "" -#: lib/choose_repository.tcl:446 +#: lib/choose_repository.tcl:409 msgid "Shared only available for local repository." msgstr "" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:439 msgid "Failed to configure origin" msgstr "" -#: lib/choose_repository.tcl:488 +#: lib/choose_repository.tcl:451 msgid "Counting objects" msgstr "" -#: lib/choose_repository.tcl:489 +#: lib/choose_repository.tcl:452 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:513 +#: lib/choose_repository.tcl:476 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "" -#: lib/choose_repository.tcl:549 +#: lib/choose_repository.tcl:512 #, tcl-format msgid "Nothing to clone from %s." msgstr "Von »%s« konnte nichts kopiert werden." -#: lib/choose_repository.tcl:551 lib/choose_repository.tcl:765 -#: lib/choose_repository.tcl:777 +#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728 +#: lib/choose_repository.tcl:740 msgid "The 'master' branch has not been initialized." msgstr "" -#: lib/choose_repository.tcl:564 +#: lib/choose_repository.tcl:527 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "" -#: lib/choose_repository.tcl:576 +#: lib/choose_repository.tcl:539 #, tcl-format msgid "Cloning from %s" msgstr "Kopieren von »%s«" -#: lib/choose_repository.tcl:607 +#: lib/choose_repository.tcl:570 msgid "Copying objects" msgstr "Objektdatenbank kopieren" -#: lib/choose_repository.tcl:608 +#: lib/choose_repository.tcl:571 msgid "KiB" msgstr "KB" -#: lib/choose_repository.tcl:632 +#: lib/choose_repository.tcl:595 #, tcl-format msgid "Unable to copy object: %s" msgstr "Objekt kann nicht kopiert werden: %s" -#: lib/choose_repository.tcl:642 +#: lib/choose_repository.tcl:605 msgid "Linking objects" msgstr "Objekte verlinken" -#: lib/choose_repository.tcl:643 +#: lib/choose_repository.tcl:606 msgid "objects" msgstr "Objekte" -#: lib/choose_repository.tcl:651 +#: lib/choose_repository.tcl:614 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Objekt kann nicht hartverlinkt werden: %s" -#: lib/choose_repository.tcl:706 +#: lib/choose_repository.tcl:669 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" -#: lib/choose_repository.tcl:717 +#: lib/choose_repository.tcl:680 msgid "Cannot fetch tags. See console output for details." msgstr "" -#: lib/choose_repository.tcl:741 +#: lib/choose_repository.tcl:704 msgid "Cannot determine HEAD. See console output for details." msgstr "" -#: lib/choose_repository.tcl:750 +#: lib/choose_repository.tcl:713 #, tcl-format msgid "Unable to cleanup %s" msgstr "" -#: lib/choose_repository.tcl:756 +#: lib/choose_repository.tcl:719 msgid "Clone failed." msgstr "Kopieren fehlgeschlagen." -#: lib/choose_repository.tcl:763 +#: lib/choose_repository.tcl:726 msgid "No default branch obtained." msgstr "" -#: lib/choose_repository.tcl:774 +#: lib/choose_repository.tcl:737 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "" -#: lib/choose_repository.tcl:786 +#: lib/choose_repository.tcl:749 msgid "Creating working directory" msgstr "Arbeitskopie erstellen" -#: lib/choose_repository.tcl:787 +#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 +#: lib/index.tcl:149 msgid "files" msgstr "Dateien" -#: lib/choose_repository.tcl:816 +#: lib/choose_repository.tcl:779 msgid "Initial file checkout failed." msgstr "" -#: lib/choose_repository.tcl:832 +#: lib/choose_repository.tcl:795 msgid "Open" msgstr "Öffnen" -#: lib/choose_repository.tcl:842 +#: lib/choose_repository.tcl:805 msgid "Repository:" msgstr "Projektarchiv:" -#: lib/choose_repository.tcl:891 +#: lib/choose_repository.tcl:854 #, tcl-format msgid "Failed to open repository %s:" msgstr "Projektarchiv »%s« konnte nicht geöffnet werden." @@ -1121,10 +1133,6 @@ msgstr "Versions-Ausdruck ist leer." msgid "Updated" msgstr "Aktualisiert" -#: lib/choose_rev.tcl:556 -msgid "Remote" -msgstr "Gegenseite" - #: lib/choose_rev.tcl:558 msgid "URL" msgstr "URL" @@ -1344,7 +1352,9 @@ msgid "" msgstr "" "Dieses Projektarchiv enthält ungefähr %i nicht verknüpfte Objekte.\n" "\n" -"Für eine optimale Performance wird empfohlen, die Datenbank des Projektarchivs zu komprimieren, sobald mehr als %i nicht verknüpfte Objekte vorliegen.\n" +"Für eine optimale Performance wird empfohlen, die Datenbank des " +"Projektarchivs zu komprimieren, sobald mehr als %i nicht verknüpfte Objekte " +"vorliegen.\n" "\n" "Soll die Datenbank jetzt komprimiert werden?" @@ -1422,32 +1432,32 @@ msgid "You must correct the above errors before committing." msgstr "" "Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können." -#: lib/index.tcl:271 +#: lib/index.tcl:241 #, tcl-format msgid "Unstaging %s from commit" msgstr "Datei »%s« aus der Bereitstellung herausnehmen" -#: lib/index.tcl:315 +#: lib/index.tcl:285 #, tcl-format msgid "Adding %s" msgstr "»%s« hinzufügen..." -#: lib/index.tcl:370 +#: lib/index.tcl:340 #, tcl-format msgid "Revert changes in file %s?" msgstr "Änderungen in Datei »%s« revidieren?" -#: lib/index.tcl:372 +#: lib/index.tcl:342 #, tcl-format msgid "Revert changes in these %i files?" msgstr "Änderungen in den gewählten %i Dateien revidieren?" -#: lib/index.tcl:378 +#: lib/index.tcl:348 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Alle nicht bereitgestellten Änderungen werden beim Revidieren verloren gehen." -#: lib/index.tcl:381 +#: lib/index.tcl:351 msgid "Do Nothing" msgstr "Nichts tun" @@ -1591,84 +1601,99 @@ msgstr "Abbruch fehlgeschlagen." msgid "Abort completed. Ready." msgstr "Abbruch durchgeführt. Bereit." -#: lib/option.tcl:77 -msgid "git-gui - a graphical user interface for Git." -msgstr "git-gui - eine grafische Oberfläche für Git." - -#: lib/option.tcl:164 +#: lib/option.tcl:82 msgid "Restore Defaults" msgstr "Voreinstellungen wiederherstellen" -#: lib/option.tcl:168 +#: lib/option.tcl:86 msgid "Save" msgstr "Speichern" -#: lib/option.tcl:178 +#: lib/option.tcl:96 #, tcl-format msgid "%s Repository" msgstr "Projektarchiv %s" -#: lib/option.tcl:179 +#: lib/option.tcl:97 msgid "Global (All Repositories)" msgstr "Global (Alle Projektarchive)" -#: lib/option.tcl:185 +#: lib/option.tcl:103 msgid "User Name" msgstr "Benutzername" -#: lib/option.tcl:186 +#: lib/option.tcl:104 msgid "Email Address" msgstr "E-Mail-Adresse" -#: lib/option.tcl:188 +#: lib/option.tcl:106 msgid "Summarize Merge Commits" msgstr "Zusammenführungs-Versionen zusammenfassen" -#: lib/option.tcl:189 +#: lib/option.tcl:107 msgid "Merge Verbosity" msgstr "Ausführlichkeit der Zusammenführen-Meldungen" -#: lib/option.tcl:190 +#: lib/option.tcl:108 msgid "Show Diffstat After Merge" msgstr "Vergleichsstatistik nach Zusammenführen anzeigen" -#: lib/option.tcl:192 +#: lib/option.tcl:110 msgid "Trust File Modification Timestamps" msgstr "Auf Dateiänderungsdatum verlassen" -#: lib/option.tcl:193 +#: lib/option.tcl:111 msgid "Prune Tracking Branches During Fetch" msgstr "Übernahmezweige löschen während Anforderung" -#: lib/option.tcl:194 +#: lib/option.tcl:112 msgid "Match Tracking Branches" msgstr "Passend zu Übernahmezweig" -#: lib/option.tcl:195 +#: lib/option.tcl:113 msgid "Number of Diff Context Lines" msgstr "Anzahl der Kontextzeilen beim Vergleich" -#: lib/option.tcl:196 +#: lib/option.tcl:114 msgid "New Branch Name Template" msgstr "Namensvorschlag für neue Zweige" -#: lib/option.tcl:258 +#: lib/option.tcl:176 msgid "Change Font" msgstr "Schriftart ändern" -#: lib/option.tcl:262 +#: lib/option.tcl:180 #, tcl-format msgid "Choose %s" msgstr "%s wählen" -#: lib/option.tcl:268 +#: lib/option.tcl:186 msgid "pt." msgstr "pt." -#: lib/option.tcl:311 +#: lib/option.tcl:200 +msgid "Preferences" +msgstr "" + +#: lib/option.tcl:235 msgid "Failed to completely save options:" msgstr "Optionen konnten nicht gespeichert werden:" +#: lib/remote.tcl:165 +#, fuzzy +msgid "Prune from" +msgstr "Löschen von »%s«" + +#: lib/remote.tcl:170 +#, fuzzy +msgid "Fetch from" +msgstr "Von »%s« anfordern" + +#: lib/remote.tcl:213 +#, fuzzy +msgid "Push to" +msgstr "Nach »%s« ausliefern" + #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 msgid "Delete Remote Branch" msgstr "Zweig im Projektarchiv der Gegenseite löschen" @@ -1755,21 +1780,6 @@ msgstr "Kein Projektarchiv ausgewählt." msgid "Scanning %s..." msgstr "»%s« laden..." -#: lib/remote.tcl:162 -#, tcl-format -msgid "Fetch from %s" -msgstr "Von »%s« anfordern" - -#: lib/remote.tcl:172 -#, tcl-format -msgid "Prune from %s" -msgstr "Löschen von »%s«" - -#: lib/remote.tcl:206 -#, tcl-format -msgid "Push to %s" -msgstr "Nach »%s« ausliefern" - #: lib/shortcut.tcl:26 lib/shortcut.tcl:74 msgid "Cannot write script:" msgstr "Fehler beim Schreiben des Scripts:" @@ -1836,7 +1846,8 @@ msgstr "Netzwerk-Einstellungen" #: lib/transport.tcl:160 msgid "Force overwrite existing branch (may discard changes)" -msgstr "Überschreiben von existierenden Zweigen erzwingen (könnte Änderungen löschen)" +msgstr "" +"Überschreiben von existierenden Zweigen erzwingen (könnte Änderungen löschen)" #: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" @@ -1845,3 +1856,9 @@ msgstr "Kompaktes Datenformat benutzen (für langsame Netzverbindungen)" #: lib/transport.tcl:168 msgid "Include tags" msgstr "Mit Markierungen übertragen" + +#~ msgid "Fetch" +#~ msgstr "Anfordern" + +#~ msgid "Unstaged Changes (Will Not Be Committed)" +#~ msgstr "Nicht bereitgestellte Änderungen (werden nicht eingetragen)" diff --git a/po/git-gui.pot b/po/git-gui.pot index b352302572..00f0f5922a 100644 --- a/po/git-gui.pot +++ b/po/git-gui.pot @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-08-11 17:28+0200\n" +"POT-Creation-Date: 2007-10-10 04:04-0400\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -16,15 +16,33 @@ msgstr "" "Content-Type: text/plain; charset=CHARSET\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:531 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 +msgid "git-gui: fatal error" +msgstr "" + +#: git-gui.sh:595 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "" + +#: git-gui.sh:620 +msgid "Main Font" +msgstr "" + +#: git-gui.sh:621 +msgid "Diff/Console Font" +msgstr "" + +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "" -#: git-gui.sh:550 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "" -#: git-gui.sh:567 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -36,79 +54,79 @@ msgid "" "Assume '%s' is version 1.5.0?\n" msgstr "" -#: git-gui.sh:689 -msgid "Cannot find the git directory:" -msgstr "" - -#: git-gui.sh:697 +#: git-gui.sh:853 msgid "Git directory not found:" msgstr "" -#: git-gui.sh:703 +#: git-gui.sh:860 +msgid "Cannot move to top of working directory:" +msgstr "" + +#: git-gui.sh:867 msgid "Cannot use funny .git directory:" msgstr "" -#: git-gui.sh:708 +#: git-gui.sh:872 msgid "No working directory" msgstr "" -#: git-gui.sh:854 +#: git-gui.sh:1019 msgid "Refreshing file status..." msgstr "" -#: git-gui.sh:891 +#: git-gui.sh:1084 msgid "Scanning for modified files ..." msgstr "" -#: git-gui.sh:1057 lib/browser.tcl:247 +#: git-gui.sh:1259 lib/browser.tcl:245 msgid "Ready." msgstr "" -#: git-gui.sh:1322 +#: git-gui.sh:1525 msgid "Unmodified" msgstr "" -#: git-gui.sh:1324 +#: git-gui.sh:1527 msgid "Modified, not staged" msgstr "" -#: git-gui.sh:1325 git-gui.sh:1330 +#: git-gui.sh:1528 git-gui.sh:1533 msgid "Staged for commit" msgstr "" -#: git-gui.sh:1326 git-gui.sh:1331 +#: git-gui.sh:1529 git-gui.sh:1534 msgid "Portions staged for commit" msgstr "" -#: git-gui.sh:1327 git-gui.sh:1332 +#: git-gui.sh:1530 git-gui.sh:1535 msgid "Staged for commit, missing" msgstr "" -#: git-gui.sh:1329 +#: git-gui.sh:1532 msgid "Untracked, not staged" msgstr "" -#: git-gui.sh:1334 +#: git-gui.sh:1537 msgid "Missing" msgstr "" -#: git-gui.sh:1335 +#: git-gui.sh:1538 msgid "Staged for removal" msgstr "" -#: git-gui.sh:1336 +#: git-gui.sh:1539 msgid "Staged for removal, still present" msgstr "" -#: git-gui.sh:1338 git-gui.sh:1339 git-gui.sh:1340 git-gui.sh:1341 +#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544 msgid "Requires merge resolution" msgstr "" -#: git-gui.sh:1383 +#: git-gui.sh:1579 msgid "Starting gitk... please wait..." msgstr "" -#: git-gui.sh:1392 +#: git-gui.sh:1588 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -116,293 +134,327 @@ msgid "" "%s does not exist" msgstr "" -#: git-gui.sh:1609 -#, tcl-format -msgid "Invalid font specified in gui.%s:" -msgstr "" - -#: git-gui.sh:1634 -msgid "Main Font" -msgstr "" - -#: git-gui.sh:1635 -msgid "Diff/Console Font" -msgstr "" - -#: git-gui.sh:1649 +#: git-gui.sh:1788 lib/choose_repository.tcl:32 msgid "Repository" msgstr "" -#: git-gui.sh:1650 +#: git-gui.sh:1789 msgid "Edit" msgstr "" -#: git-gui.sh:1652 +#: git-gui.sh:1791 lib/choose_rev.tcl:560 msgid "Branch" msgstr "" -#: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152 -msgid "Commit" +#: git-gui.sh:1794 lib/choose_rev.tcl:547 +msgid "Commit@@noun" msgstr "" -#: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "" -#: git-gui.sh:1659 -msgid "Fetch" +#: git-gui.sh:1798 lib/choose_rev.tcl:556 +msgid "Remote" msgstr "" -#: git-gui.sh:1660 git-gui.sh:2158 lib/transport.tcl:88 lib/transport.tcl:172 -msgid "Push" -msgstr "" - -#: git-gui.sh:1669 +#: git-gui.sh:1807 msgid "Browse Current Branch's Files" msgstr "" -#: git-gui.sh:1673 +#: git-gui.sh:1811 msgid "Browse Branch Files..." msgstr "" -#: git-gui.sh:1678 +#: git-gui.sh:1816 msgid "Visualize Current Branch's History" msgstr "" -#: git-gui.sh:1682 +#: git-gui.sh:1820 msgid "Visualize All Branch History" msgstr "" -#: git-gui.sh:1689 +#: git-gui.sh:1827 #, tcl-format msgid "Browse %s's Files" msgstr "" -#: git-gui.sh:1691 +#: git-gui.sh:1829 #, tcl-format msgid "Visualize %s's History" msgstr "" -#: git-gui.sh:1696 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "" -#: git-gui.sh:1699 lib/database.tcl:34 +#: git-gui.sh:1837 lib/database.tcl:34 msgid "Compress Database" msgstr "" -#: git-gui.sh:1702 +#: git-gui.sh:1840 msgid "Verify Database" msgstr "" -#: git-gui.sh:1709 git-gui.sh:1713 git-gui.sh:1717 lib/shortcut.tcl:9 +#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9 #: lib/shortcut.tcl:45 lib/shortcut.tcl:84 msgid "Create Desktop Icon" msgstr "" -#: git-gui.sh:1722 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95 msgid "Quit" msgstr "" -#: git-gui.sh:1729 +#: git-gui.sh:1867 msgid "Undo" msgstr "" -#: git-gui.sh:1732 +#: git-gui.sh:1870 msgid "Redo" msgstr "" -#: git-gui.sh:1736 git-gui.sh:2222 +#: git-gui.sh:1874 git-gui.sh:2366 msgid "Cut" msgstr "" -#: git-gui.sh:1739 git-gui.sh:2225 git-gui.sh:2296 git-gui.sh:2368 -#: lib/console.tcl:69 +#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512 +#: lib/console.tcl:67 msgid "Copy" msgstr "" -#: git-gui.sh:1742 git-gui.sh:2228 +#: git-gui.sh:1880 git-gui.sh:2372 msgid "Paste" msgstr "" -#: git-gui.sh:1745 git-gui.sh:2231 lib/branch_delete.tcl:26 +#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "" -#: git-gui.sh:1749 git-gui.sh:2235 git-gui.sh:2372 lib/console.tcl:71 +#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69 msgid "Select All" msgstr "" -#: git-gui.sh:1758 +#: git-gui.sh:1896 msgid "Create..." msgstr "" -#: git-gui.sh:1764 +#: git-gui.sh:1902 msgid "Checkout..." msgstr "" -#: git-gui.sh:1770 +#: git-gui.sh:1908 msgid "Rename..." msgstr "" -#: git-gui.sh:1775 git-gui.sh:1873 +#: git-gui.sh:1913 git-gui.sh:2012 msgid "Delete..." msgstr "" -#: git-gui.sh:1780 +#: git-gui.sh:1918 msgid "Reset..." msgstr "" -#: git-gui.sh:1792 git-gui.sh:2169 +#: git-gui.sh:1930 git-gui.sh:2313 msgid "New Commit" msgstr "" -#: git-gui.sh:1800 git-gui.sh:2176 +#: git-gui.sh:1938 git-gui.sh:2320 msgid "Amend Last Commit" msgstr "" -#: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "" -#: git-gui.sh:1815 +#: git-gui.sh:1953 msgid "Stage To Commit" msgstr "" -#: git-gui.sh:1820 +#: git-gui.sh:1958 msgid "Stage Changed Files To Commit" msgstr "" -#: git-gui.sh:1826 +#: git-gui.sh:1964 msgid "Unstage From Commit" msgstr "" -#: git-gui.sh:1831 lib/index.tcl:376 +#: git-gui.sh:1969 lib/index.tcl:352 msgid "Revert Changes" msgstr "" -#: git-gui.sh:1838 git-gui.sh:2148 git-gui.sh:2246 +#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390 msgid "Sign Off" msgstr "" -#: git-gui.sh:1853 +#: git-gui.sh:1980 git-gui.sh:2296 +msgid "Commit@@verb" +msgstr "" + +#: git-gui.sh:1991 msgid "Local Merge..." msgstr "" -#: git-gui.sh:1858 +#: git-gui.sh:1996 msgid "Abort Merge..." msgstr "" -#: git-gui.sh:1870 +#: git-gui.sh:2008 msgid "Push..." msgstr "" -#: git-gui.sh:1880 +#: git-gui.sh:2019 lib/choose_repository.tcl:41 msgid "Apple" msgstr "" -#: git-gui.sh:1883 git-gui.sh:1901 lib/option.tcl:65 +#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "" -#: git-gui.sh:1885 git-gui.sh:1891 git-gui.sh:2414 +#: git-gui.sh:2026 +msgid "Preferences..." +msgstr "" + +#: git-gui.sh:2034 git-gui.sh:2558 msgid "Options..." msgstr "" -#: git-gui.sh:1897 +#: git-gui.sh:2040 lib/choose_repository.tcl:47 msgid "Help" msgstr "" -#: git-gui.sh:1938 +#: git-gui.sh:2081 msgid "Online Documentation" msgstr "" -#: git-gui.sh:2054 +#: git-gui.sh:2165 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" + +#: git-gui.sh:2198 msgid "Current Branch:" msgstr "" -#: git-gui.sh:2075 -msgid "Staged Changes (Will Be Committed)" +#: git-gui.sh:2219 +msgid "Staged Changes (Will Commit)" msgstr "" -#: git-gui.sh:2095 -msgid "Unstaged Changes (Will Not Be Committed)" +#: git-gui.sh:2239 +msgid "Unstaged Changes" msgstr "" -#: git-gui.sh:2142 +#: git-gui.sh:2286 msgid "Stage Changed" msgstr "" -#: git-gui.sh:2188 +#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182 +msgid "Push" +msgstr "" + +#: git-gui.sh:2332 msgid "Initial Commit Message:" msgstr "" -#: git-gui.sh:2189 +#: git-gui.sh:2333 msgid "Amended Commit Message:" msgstr "" -#: git-gui.sh:2190 +#: git-gui.sh:2334 msgid "Amended Initial Commit Message:" msgstr "" -#: git-gui.sh:2191 +#: git-gui.sh:2335 msgid "Amended Merge Commit Message:" msgstr "" -#: git-gui.sh:2192 +#: git-gui.sh:2336 msgid "Merge Commit Message:" msgstr "" -#: git-gui.sh:2193 +#: git-gui.sh:2337 msgid "Commit Message:" msgstr "" -#: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73 +#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71 msgid "Copy All" msgstr "" -#: git-gui.sh:2262 lib/blame.tcl:104 +#: git-gui.sh:2406 lib/blame.tcl:104 msgid "File:" msgstr "" -#: git-gui.sh:2364 +#: git-gui.sh:2508 msgid "Refresh" msgstr "" -#: git-gui.sh:2385 +#: git-gui.sh:2529 msgid "Apply/Reverse Hunk" msgstr "" -#: git-gui.sh:2391 +#: git-gui.sh:2535 msgid "Decrease Font Size" msgstr "" -#: git-gui.sh:2395 +#: git-gui.sh:2539 msgid "Increase Font Size" msgstr "" -#: git-gui.sh:2400 +#: git-gui.sh:2544 msgid "Show Less Context" msgstr "" -#: git-gui.sh:2407 +#: git-gui.sh:2551 msgid "Show More Context" msgstr "" -#: git-gui.sh:2422 +#: git-gui.sh:2565 msgid "Unstage Hunk From Commit" msgstr "" -#: git-gui.sh:2426 git-gui.sh:2430 +#: git-gui.sh:2567 msgid "Stage Hunk For Commit" msgstr "" -#: git-gui.sh:2440 +#: git-gui.sh:2586 msgid "Initializing..." msgstr "" +#: git-gui.sh:2677 +#, 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:2707 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" + +#: git-gui.sh:2712 +#, 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:25 +msgid "git-gui - a graphical user interface for Git." +msgstr "" + #: lib/blame.tcl:77 msgid "File Viewer" msgstr "" @@ -420,6 +472,50 @@ msgstr "" msgid "Reading %s..." msgstr "" +#: lib/blame.tcl:473 +msgid "Loading copy/move tracking annotations..." +msgstr "" + +#: lib/blame.tcl:493 +msgid "lines annotated" +msgstr "" + +#: lib/blame.tcl:674 +msgid "Loading original location annotations..." +msgstr "" + +#: lib/blame.tcl:677 +msgid "Annotation complete." +msgstr "" + +#: lib/blame.tcl:731 +msgid "Loading annotation..." +msgstr "" + +#: lib/blame.tcl:787 +msgid "Author:" +msgstr "" + +#: lib/blame.tcl:791 +msgid "Committer:" +msgstr "" + +#: lib/blame.tcl:796 +msgid "Original File:" +msgstr "" + +#: lib/blame.tcl:910 +msgid "Originally By:" +msgstr "" + +#: lib/blame.tcl:916 +msgid "In File:" +msgstr "" + +#: lib/blame.tcl:921 +msgid "Copied Or Moved Here By:" +msgstr "" + #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" msgstr "" @@ -429,18 +525,17 @@ msgid "Checkout" msgstr "" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283 -#: lib/checkout_op.tcl:522 lib/merge.tcl:172 lib/option.tcl:172 -#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:288 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 msgid "Revision" msgstr "" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 -#: lib/option.tcl:274 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 msgid "Options" msgstr "" @@ -460,7 +555,7 @@ msgstr "" msgid "Create New Branch" msgstr "" -#: lib/branch_create.tcl:31 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199 msgid "Create" msgstr "" @@ -595,20 +690,22 @@ msgstr "" msgid "File Browser" msgstr "" -#: lib/browser.tcl:127 lib/browser.tcl:144 +#: lib/browser.tcl:125 lib/browser.tcl:142 #, tcl-format msgid "Loading %s..." msgstr "" -#: lib/browser.tcl:188 +#: lib/browser.tcl:186 msgid "[Up To Parent]" msgstr "" -#: lib/browser.tcl:268 lib/browser.tcl:274 +#: lib/browser.tcl:266 lib/browser.tcl:272 msgid "Browse Branch Files" msgstr "" -#: lib/browser.tcl:279 +#: lib/browser.tcl:277 lib/choose_repository.tcl:215 +#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315 +#: lib/choose_repository.tcl:811 msgid "Browse" msgstr "" @@ -617,7 +714,12 @@ msgstr "" msgid "Fetching %s from %s" msgstr "" -#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +#: lib/checkout_op.tcl:127 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "" + +#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" msgstr "" @@ -659,6 +761,11 @@ msgid "" "The rescan will be automatically started now.\n" msgstr "" +#: lib/checkout_op.tcl:322 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -681,6 +788,11 @@ msgid "" "Checkout'." msgstr "" +#: lib/checkout_op.tcl:446 +#, tcl-format +msgid "Checked out '%s'." +msgstr "" + #: lib/checkout_op.tcl:478 #, tcl-format msgid "Resetting '%s' to '%s' will lose the following commits:" @@ -710,6 +822,235 @@ msgid "" "This should not have occurred. %s will now close and give up." msgstr "" +#: lib/choose_font.tcl:39 +msgid "Select" +msgstr "" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "" + +#: lib/choose_font.tcl:73 +msgid "Font Size" +msgstr "" + +#: lib/choose_font.tcl:90 +msgid "Font Example" +msgstr "" + +#: lib/choose_font.tcl:101 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" + +#: lib/choose_repository.tcl:25 +msgid "Git Gui" +msgstr "" + +#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 +msgid "Create New Repository" +msgstr "" + +#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 +msgid "Clone Existing Repository" +msgstr "" + +#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 +msgid "Open Existing Repository" +msgstr "" + +#: lib/choose_repository.tcl:91 +msgid "Next >" +msgstr "" + +#: lib/choose_repository.tcl:152 +#, tcl-format +msgid "Location %s already exists." +msgstr "" + +#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 +#: lib/choose_repository.tcl:172 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "" + +#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 +msgid "Directory:" +msgstr "" + +#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 +#: lib/choose_repository.tcl:834 +msgid "Git Repository" +msgstr "" + +#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260 +#, tcl-format +msgid "Directory %s already exists." +msgstr "" + +#: lib/choose_repository.tcl:265 +#, tcl-format +msgid "File %s already exists." +msgstr "" + +#: lib/choose_repository.tcl:286 +msgid "Clone" +msgstr "" + +#: lib/choose_repository.tcl:299 +msgid "URL:" +msgstr "" + +#: lib/choose_repository.tcl:319 +msgid "Clone Type:" +msgstr "" + +#: lib/choose_repository.tcl:325 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "" + +#: lib/choose_repository.tcl:331 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "" + +#: lib/choose_repository.tcl:337 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "" + +#: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418 +#: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:840 lib/choose_repository.tcl:848 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "" + +#: lib/choose_repository.tcl:405 +msgid "Standard only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:409 +msgid "Shared only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:439 +msgid "Failed to configure origin" +msgstr "" + +#: lib/choose_repository.tcl:451 +msgid "Counting objects" +msgstr "" + +#: lib/choose_repository.tcl:452 +msgid "buckets" +msgstr "" + +#: lib/choose_repository.tcl:476 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "" + +#: lib/choose_repository.tcl:512 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "" + +#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728 +#: lib/choose_repository.tcl:740 +msgid "The 'master' branch has not been initialized." +msgstr "" + +#: lib/choose_repository.tcl:527 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "" + +#: lib/choose_repository.tcl:539 +#, tcl-format +msgid "Cloning from %s" +msgstr "" + +#: lib/choose_repository.tcl:570 +msgid "Copying objects" +msgstr "" + +#: lib/choose_repository.tcl:571 +msgid "KiB" +msgstr "" + +#: lib/choose_repository.tcl:595 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "" + +#: lib/choose_repository.tcl:605 +msgid "Linking objects" +msgstr "" + +#: lib/choose_repository.tcl:606 +msgid "objects" +msgstr "" + +#: lib/choose_repository.tcl:614 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "" + +#: lib/choose_repository.tcl:669 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:680 +msgid "Cannot fetch tags. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:704 +msgid "Cannot determine HEAD. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:713 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "" + +#: lib/choose_repository.tcl:719 +msgid "Clone failed." +msgstr "" + +#: lib/choose_repository.tcl:726 +msgid "No default branch obtained." +msgstr "" + +#: lib/choose_repository.tcl:737 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "" + +#: lib/choose_repository.tcl:749 +msgid "Creating working directory" +msgstr "" + +#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 +#: lib/index.tcl:149 +msgid "files" +msgstr "" + +#: lib/choose_repository.tcl:779 +msgid "Initial file checkout failed." +msgstr "" + +#: lib/choose_repository.tcl:795 +msgid "Open" +msgstr "" + +#: lib/choose_repository.tcl:805 +msgid "Repository:" +msgstr "" + +#: lib/choose_repository.tcl:854 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "" + #: lib/choose_rev.tcl:53 msgid "This Detached Checkout" msgstr "" @@ -726,7 +1067,7 @@ msgstr "" msgid "Tracking Branch" msgstr "" -#: lib/choose_rev.tcl:84 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 msgid "Tag" msgstr "" @@ -743,6 +1084,14 @@ msgstr "" msgid "Revision expression is empty." msgstr "" +#: lib/choose_rev.tcl:530 +msgid "Updated" +msgstr "" + +#: lib/choose_rev.tcl:558 +msgid "URL" +msgstr "" + #: lib/commit.tcl:9 msgid "" "There is nothing to amend.\n" @@ -821,6 +1170,11 @@ msgstr "" msgid "write-tree failed:" msgstr "" +#: lib/commit.tcl:275 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "" + #: lib/commit.tcl:279 msgid "" "No changes to commit.\n" @@ -834,6 +1188,11 @@ msgstr "" msgid "No changes to commit." msgstr "" +#: lib/commit.tcl:303 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "" + #: lib/commit.tcl:317 msgid "commit-tree failed:" msgstr "" @@ -847,15 +1206,15 @@ msgstr "" msgid "Created commit %s: %s" msgstr "" -#: lib/console.tcl:55 +#: lib/console.tcl:57 msgid "Working... please wait..." msgstr "" -#: lib/console.tcl:184 +#: lib/console.tcl:183 msgid "Success" msgstr "" -#: lib/console.tcl:194 +#: lib/console.tcl:196 msgid "Error: Command Failed" msgstr "" @@ -895,6 +1254,22 @@ msgstr "" msgid "Verifying the object database with fsck-objects" msgstr "" +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "" + #: lib/diff.tcl:42 #, tcl-format msgid "" @@ -909,19 +1284,37 @@ msgid "" "the same state." msgstr "" -#: lib/diff.tcl:97 +#: lib/diff.tcl:81 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "" + +#: lib/diff.tcl:114 lib/diff.tcl:184 +#, tcl-format +msgid "Unable to display %s" +msgstr "" + +#: lib/diff.tcl:115 msgid "Error loading file:" msgstr "" -#: lib/diff.tcl:162 +#: lib/diff.tcl:122 +msgid "Git Repository (subproject)" +msgstr "" + +#: lib/diff.tcl:134 +msgid "* Binary file (not showing content)." +msgstr "" + +#: lib/diff.tcl:185 msgid "Error loading diff:" msgstr "" -#: lib/diff.tcl:278 +#: lib/diff.tcl:302 msgid "Failed to unstage selected hunk." msgstr "" -#: lib/diff.tcl:285 +#: lib/diff.tcl:309 msgid "Failed to stage selected hunk." msgstr "" @@ -937,21 +1330,31 @@ msgstr "" msgid "You must correct the above errors before committing." msgstr "" -#: lib/index.tcl:364 +#: lib/index.tcl:241 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "" + +#: lib/index.tcl:285 +#, tcl-format +msgid "Adding %s" +msgstr "" + +#: lib/index.tcl:340 #, tcl-format msgid "Revert changes in file %s?" msgstr "" -#: lib/index.tcl:366 +#: lib/index.tcl:342 #, tcl-format msgid "Revert changes in these %i files?" msgstr "" -#: lib/index.tcl:372 +#: lib/index.tcl:348 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" -#: lib/index.tcl:375 +#: lib/index.tcl:351 msgid "Do Nothing" msgstr "" @@ -1058,71 +1461,96 @@ msgstr "" msgid "Abort completed. Ready." msgstr "" -#: lib/option.tcl:77 -msgid "git-gui - a graphical user interface for Git." -msgstr "" - -#: lib/option.tcl:164 +#: lib/option.tcl:82 msgid "Restore Defaults" msgstr "" -#: lib/option.tcl:168 +#: lib/option.tcl:86 msgid "Save" msgstr "" -#: lib/option.tcl:178 +#: lib/option.tcl:96 #, tcl-format msgid "%s Repository" msgstr "" -#: lib/option.tcl:179 +#: lib/option.tcl:97 msgid "Global (All Repositories)" msgstr "" -#: lib/option.tcl:185 +#: lib/option.tcl:103 msgid "User Name" msgstr "" -#: lib/option.tcl:186 +#: lib/option.tcl:104 msgid "Email Address" msgstr "" -#: lib/option.tcl:188 +#: lib/option.tcl:106 msgid "Summarize Merge Commits" msgstr "" -#: lib/option.tcl:189 +#: lib/option.tcl:107 msgid "Merge Verbosity" msgstr "" -#: lib/option.tcl:190 +#: lib/option.tcl:108 msgid "Show Diffstat After Merge" msgstr "" -#: lib/option.tcl:192 +#: lib/option.tcl:110 msgid "Trust File Modification Timestamps" msgstr "" -#: lib/option.tcl:193 +#: lib/option.tcl:111 msgid "Prune Tracking Branches During Fetch" msgstr "" -#: lib/option.tcl:194 +#: lib/option.tcl:112 msgid "Match Tracking Branches" msgstr "" -#: lib/option.tcl:195 +#: lib/option.tcl:113 msgid "Number of Diff Context Lines" msgstr "" -#: lib/option.tcl:196 +#: lib/option.tcl:114 msgid "New Branch Name Template" msgstr "" -#: lib/option.tcl:305 +#: lib/option.tcl:176 +msgid "Change Font" +msgstr "" + +#: lib/option.tcl:180 +#, tcl-format +msgid "Choose %s" +msgstr "" + +#: lib/option.tcl:186 +msgid "pt." +msgstr "" + +#: lib/option.tcl:200 +msgid "Preferences" +msgstr "" + +#: lib/option.tcl:235 msgid "Failed to completely save options:" msgstr "" +#: lib/remote.tcl:165 +msgid "Prune from" +msgstr "" + +#: lib/remote.tcl:170 +msgid "Fetch from" +msgstr "" + +#: lib/remote.tcl:213 +msgid "Push to" +msgstr "" + #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 msgid "Delete Remote Branch" msgstr "" @@ -1131,11 +1559,11 @@ msgstr "" msgid "From Repository" msgstr "" -#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 msgid "Remote:" msgstr "" -#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 msgid "Arbitrary URL:" msgstr "" @@ -1159,6 +1587,14 @@ msgstr "" msgid "A branch is required for 'Merged Into'." msgstr "" +#: lib/remote_branch_delete.tcl:184 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" + #: lib/remote_branch_delete.tcl:189 #, tcl-format msgid "" @@ -1191,21 +1627,6 @@ msgstr "" msgid "Scanning %s..." msgstr "" -#: lib/remote.tcl:162 -#, tcl-format -msgid "Fetch from %s..." -msgstr "" - -#: lib/remote.tcl:172 -#, tcl-format -msgid "Prune from %s..." -msgstr "" - -#: lib/remote.tcl:206 -#, tcl-format -msgid "Push to %s..." -msgstr "" - #: lib/shortcut.tcl:26 lib/shortcut.tcl:74 msgid "Cannot write script:" msgstr "" @@ -1214,51 +1635,70 @@ msgstr "" msgid "Cannot write icon:" msgstr "" -#: lib/status_bar.tcl:58 +#: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" msgstr "" +#: lib/transport.tcl:6 +#, tcl-format +msgid "fetch %s" +msgstr "" + #: lib/transport.tcl:7 #, tcl-format msgid "Fetching new changes from %s" msgstr "" +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "" + #: lib/transport.tcl:19 #, tcl-format msgid "Pruning tracking branches deleted from %s" msgstr "" +#: lib/transport.tcl:25 lib/transport.tcl:71 +#, tcl-format +msgid "push %s" +msgstr "" + #: lib/transport.tcl:26 #, tcl-format msgid "Pushing changes to %s" msgstr "" -#: lib/transport.tcl:68 +#: lib/transport.tcl:72 #, tcl-format msgid "Pushing %s %s to %s" msgstr "" -#: lib/transport.tcl:84 +#: lib/transport.tcl:89 msgid "Push Branches" msgstr "" -#: lib/transport.tcl:98 +#: lib/transport.tcl:103 msgid "Source Branches" msgstr "" -#: lib/transport.tcl:115 +#: lib/transport.tcl:120 msgid "Destination Repository" msgstr "" -#: lib/transport.tcl:153 +#: lib/transport.tcl:158 msgid "Transfer Options" msgstr "" -#: lib/transport.tcl:155 +#: lib/transport.tcl:160 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "" + +#: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" msgstr "" -#: lib/transport.tcl:159 +#: lib/transport.tcl:168 msgid "Include tags" msgstr "" diff --git a/po/hu.po b/po/hu.po index 1e189b6086..e8c04f7aea 100644 --- a/po/hu.po +++ b/po/hu.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui-i 18n\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-08-11 17:28+0200\n" +"POT-Creation-Date: 2007-10-10 04:04-0400\n" "PO-Revision-Date: 2007-07-27 13:15+0200\n" "Last-Translator: Miklos Vajna \n" "Language-Team: Hungarian\n" @@ -16,15 +16,33 @@ msgstr "" "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: git-gui.sh:531 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 +msgid "git-gui: fatal error" +msgstr "" + +#: git-gui.sh:595 +#, fuzzy, tcl-format +msgid "Invalid font specified in %s:" +msgstr "Érvénytelen font lett megadva a grafikus felületben.%s:" + +#: git-gui.sh:620 +msgid "Main Font" +msgstr "Fő betűtípus" + +#: git-gui.sh:621 +msgid "Diff/Console Font" +msgstr "Diff/konzol betűtípus" + +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "A git nem található a PATH-ban." -#: git-gui.sh:550 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Nem értelmezhető a Git verzió sztring:" -#: git-gui.sh:567 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -43,79 +61,80 @@ msgstr "" "\n" "Feltételezhetjük, hogy a(z) '%s' verziója legalább 1.5.0?\n" -#: git-gui.sh:689 -msgid "Cannot find the git directory:" -msgstr "Nem található a git könyvtár:" - -#: git-gui.sh:697 +#: git-gui.sh:853 msgid "Git directory not found:" msgstr "A Git könyvtár nem található:" -#: git-gui.sh:703 +#: git-gui.sh:860 +#, fuzzy +msgid "Cannot move to top of working directory:" +msgstr "Nem használható vicces .git könyvtár:" + +#: git-gui.sh:867 msgid "Cannot use funny .git directory:" msgstr "Nem használható vicces .git könyvtár:" -#: git-gui.sh:708 +#: git-gui.sh:872 msgid "No working directory" msgstr "Nincs munkakönyvtár" -#: git-gui.sh:854 +#: git-gui.sh:1019 msgid "Refreshing file status..." msgstr "A fájlok státuszának frissítése..." -#: git-gui.sh:891 +#: git-gui.sh:1084 msgid "Scanning for modified files ..." msgstr "Módosított fájlok keresése ..." -#: git-gui.sh:1057 lib/browser.tcl:247 +#: git-gui.sh:1259 lib/browser.tcl:245 msgid "Ready." msgstr "Kész." -#: git-gui.sh:1322 +#: git-gui.sh:1525 msgid "Unmodified" msgstr "Nem módosított" -#: git-gui.sh:1324 +#: git-gui.sh:1527 msgid "Modified, not staged" msgstr "Módosított, de nem kiválasztott" -#: git-gui.sh:1325 git-gui.sh:1330 +#: git-gui.sh:1528 git-gui.sh:1533 msgid "Staged for commit" msgstr "Kiválasztva commitolásra" -#: git-gui.sh:1326 git-gui.sh:1331 +#: git-gui.sh:1529 git-gui.sh:1534 msgid "Portions staged for commit" msgstr "Részek kiválasztva commitolásra" -#: git-gui.sh:1327 git-gui.sh:1332 +#: git-gui.sh:1530 git-gui.sh:1535 msgid "Staged for commit, missing" msgstr "Kiválasztva commitolásra, hiányzó" -#: git-gui.sh:1329 +#: git-gui.sh:1532 msgid "Untracked, not staged" msgstr "Nem követett, nem kiválasztott" -#: git-gui.sh:1334 +#: git-gui.sh:1537 msgid "Missing" msgstr "Hiányzó" -#: git-gui.sh:1335 +#: git-gui.sh:1538 msgid "Staged for removal" msgstr "Kiválasztva eltávolításra" -#: git-gui.sh:1336 +#: git-gui.sh:1539 msgid "Staged for removal, still present" msgstr "Kiválasztva eltávolításra, jelenleg is elérhető" -#: git-gui.sh:1338 git-gui.sh:1339 git-gui.sh:1340 git-gui.sh:1341 +#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544 msgid "Requires merge resolution" msgstr "Merge feloldás szükséges" -#: git-gui.sh:1383 +#: git-gui.sh:1579 msgid "Starting gitk... please wait..." msgstr "A gitk indítása... várjunk..." -#: git-gui.sh:1392 +#: git-gui.sh:1588 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -126,293 +145,332 @@ msgstr "" "\n" "A(z) %s nem létezik" -#: git-gui.sh:1609 -#, tcl-format -msgid "Invalid font specified in gui.%s:" -msgstr "Érvénytelen font lett megadva a grafikus felületben.%s:" - -#: git-gui.sh:1634 -msgid "Main Font" -msgstr "Fő betűtípus" - -#: git-gui.sh:1635 -msgid "Diff/Console Font" -msgstr "Diff/konzol betűtípus" - -#: git-gui.sh:1649 +#: git-gui.sh:1788 lib/choose_repository.tcl:32 msgid "Repository" msgstr "Repó" -#: git-gui.sh:1650 +#: git-gui.sh:1789 msgid "Edit" msgstr "Szerkesztés" -#: git-gui.sh:1652 +#: git-gui.sh:1791 lib/choose_rev.tcl:560 msgid "Branch" msgstr "Branch" -#: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152 -msgid "Commit" +#: git-gui.sh:1794 lib/choose_rev.tcl:547 +#, fuzzy +msgid "Commit@@noun" msgstr "Commit" -#: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "Merge" -#: git-gui.sh:1659 -msgid "Fetch" -msgstr "Letöltés" +#: git-gui.sh:1798 lib/choose_rev.tcl:556 +#, fuzzy +msgid "Remote" +msgstr "Távoli:" -#: git-gui.sh:1660 git-gui.sh:2158 lib/transport.tcl:88 lib/transport.tcl:172 -msgid "Push" -msgstr "Push" - -#: git-gui.sh:1669 +#: git-gui.sh:1807 msgid "Browse Current Branch's Files" msgstr "A jelenlegi branch fájljainak böngészése" -#: git-gui.sh:1673 +#: git-gui.sh:1811 msgid "Browse Branch Files..." msgstr "A branch fájljainak böngészése..." -#: git-gui.sh:1678 +#: git-gui.sh:1816 msgid "Visualize Current Branch's History" msgstr "A jelenlegi branch történetének vizualizálása" -#: git-gui.sh:1682 +#: git-gui.sh:1820 msgid "Visualize All Branch History" msgstr "Az összes branch történetének vizualizálása" -#: git-gui.sh:1689 +#: git-gui.sh:1827 #, tcl-format msgid "Browse %s's Files" msgstr "A(z) %s branch fájljainak böngészése" -#: git-gui.sh:1691 +#: git-gui.sh:1829 #, tcl-format msgid "Visualize %s's History" msgstr "A(z) %s branch történetének vizualizálása" -#: git-gui.sh:1696 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Adatbázis statisztikák" -#: git-gui.sh:1699 lib/database.tcl:34 +#: git-gui.sh:1837 lib/database.tcl:34 msgid "Compress Database" msgstr "Adatbázis tömörítése" -#: git-gui.sh:1702 +#: git-gui.sh:1840 msgid "Verify Database" msgstr "Adatbázis ellenőrzése" -#: git-gui.sh:1709 git-gui.sh:1713 git-gui.sh:1717 lib/shortcut.tcl:9 +#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9 #: lib/shortcut.tcl:45 lib/shortcut.tcl:84 msgid "Create Desktop Icon" msgstr "Asztal ikon létrehozása" -#: git-gui.sh:1722 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95 msgid "Quit" msgstr "Kilépés" -#: git-gui.sh:1729 +#: git-gui.sh:1867 msgid "Undo" msgstr "Visszavonás" -#: git-gui.sh:1732 +#: git-gui.sh:1870 msgid "Redo" msgstr "Mégis" -#: git-gui.sh:1736 git-gui.sh:2222 +#: git-gui.sh:1874 git-gui.sh:2366 msgid "Cut" msgstr "Kivágás" -#: git-gui.sh:1739 git-gui.sh:2225 git-gui.sh:2296 git-gui.sh:2368 -#: lib/console.tcl:69 +#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512 +#: lib/console.tcl:67 msgid "Copy" msgstr "Másolás" -#: git-gui.sh:1742 git-gui.sh:2228 +#: git-gui.sh:1880 git-gui.sh:2372 msgid "Paste" msgstr "Beillesztés" -#: git-gui.sh:1745 git-gui.sh:2231 lib/branch_delete.tcl:26 +#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Törlés" -#: git-gui.sh:1749 git-gui.sh:2235 git-gui.sh:2372 lib/console.tcl:71 +#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69 msgid "Select All" msgstr "Mindent kiválaszt" -#: git-gui.sh:1758 +#: git-gui.sh:1896 msgid "Create..." msgstr "Létrehozás..." -#: git-gui.sh:1764 +#: git-gui.sh:1902 msgid "Checkout..." msgstr "Checkout..." -#: git-gui.sh:1770 +#: git-gui.sh:1908 msgid "Rename..." msgstr "Átnevezés..." -#: git-gui.sh:1775 git-gui.sh:1873 +#: git-gui.sh:1913 git-gui.sh:2012 msgid "Delete..." msgstr "Törlés..." -#: git-gui.sh:1780 +#: git-gui.sh:1918 msgid "Reset..." msgstr "Visszaállítás..." -#: git-gui.sh:1792 git-gui.sh:2169 +#: git-gui.sh:1930 git-gui.sh:2313 msgid "New Commit" msgstr "Új commit" -#: git-gui.sh:1800 git-gui.sh:2176 +#: git-gui.sh:1938 git-gui.sh:2320 msgid "Amend Last Commit" msgstr "Utolsó commit javítása" -#: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Keresés újra" -#: git-gui.sh:1815 +#: git-gui.sh:1953 msgid "Stage To Commit" msgstr "Kiválasztás commitolásra" -#: git-gui.sh:1820 +#: git-gui.sh:1958 msgid "Stage Changed Files To Commit" msgstr "Módosított fájlok kiválasztása commitolásra" -#: git-gui.sh:1826 +#: git-gui.sh:1964 msgid "Unstage From Commit" msgstr "Commitba való kiválasztás visszavonása" -#: git-gui.sh:1831 lib/index.tcl:376 +#: git-gui.sh:1969 lib/index.tcl:352 msgid "Revert Changes" msgstr "Változtatások visszaállítása" -#: git-gui.sh:1838 git-gui.sh:2148 git-gui.sh:2246 +#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390 msgid "Sign Off" msgstr "Aláír" -#: git-gui.sh:1853 +#: git-gui.sh:1980 git-gui.sh:2296 +#, fuzzy +msgid "Commit@@verb" +msgstr "Commit" + +#: git-gui.sh:1991 msgid "Local Merge..." msgstr "Helyi merge..." -#: git-gui.sh:1858 +#: git-gui.sh:1996 msgid "Abort Merge..." msgstr "Merge megszakítása..." -#: git-gui.sh:1870 +#: git-gui.sh:2008 msgid "Push..." msgstr "Push..." -#: git-gui.sh:1880 +#: git-gui.sh:2019 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Apple" -#: git-gui.sh:1883 git-gui.sh:1901 lib/option.tcl:65 +#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "Névjegy: %s" -#: git-gui.sh:1885 git-gui.sh:1891 git-gui.sh:2414 +#: git-gui.sh:2026 +msgid "Preferences..." +msgstr "" + +#: git-gui.sh:2034 git-gui.sh:2558 msgid "Options..." msgstr "Opciók..." -#: git-gui.sh:1897 +#: git-gui.sh:2040 lib/choose_repository.tcl:47 msgid "Help" msgstr "Segítség" -#: git-gui.sh:1938 +#: git-gui.sh:2081 msgid "Online Documentation" msgstr "Online dokumentáció" -#: git-gui.sh:2054 +#: git-gui.sh:2165 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" + +#: git-gui.sh:2198 msgid "Current Branch:" msgstr "Jelenlegi branch:" -#: git-gui.sh:2075 -msgid "Staged Changes (Will Be Committed)" +#: git-gui.sh:2219 +#, fuzzy +msgid "Staged Changes (Will Commit)" msgstr "Kiválasztott változtatások (commitolva lesz)" -#: git-gui.sh:2095 -msgid "Unstaged Changes (Will Not Be Committed)" -msgstr "Nem kiválasztott változtatások (nem lesz commitolva)" +#: git-gui.sh:2239 +#, fuzzy +msgid "Unstaged Changes" +msgstr "Változtatások kiválasztása" -#: git-gui.sh:2142 +#: git-gui.sh:2286 msgid "Stage Changed" msgstr "Változtatások kiválasztása" -#: git-gui.sh:2188 +#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182 +msgid "Push" +msgstr "Push" + +#: git-gui.sh:2332 msgid "Initial Commit Message:" msgstr "Kezdeti commit üzenet:" -#: git-gui.sh:2189 +#: git-gui.sh:2333 msgid "Amended Commit Message:" msgstr "Javító commit üzenet:" -#: git-gui.sh:2190 +#: git-gui.sh:2334 msgid "Amended Initial Commit Message:" msgstr "Kezdeti javító commit üzenet:" -#: git-gui.sh:2191 +#: git-gui.sh:2335 msgid "Amended Merge Commit Message:" msgstr "Javító merge commit üzenet:" -#: git-gui.sh:2192 +#: git-gui.sh:2336 msgid "Merge Commit Message:" msgstr "Merge commit üzenet:" -#: git-gui.sh:2193 +#: git-gui.sh:2337 msgid "Commit Message:" msgstr "Commit üzenet:" -#: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73 +#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71 msgid "Copy All" msgstr "Összes másolása" -#: git-gui.sh:2262 lib/blame.tcl:104 +#: git-gui.sh:2406 lib/blame.tcl:104 msgid "File:" msgstr "Fájl:" -#: git-gui.sh:2364 +#: git-gui.sh:2508 msgid "Refresh" msgstr "Frissítés" -#: git-gui.sh:2385 +#: git-gui.sh:2529 msgid "Apply/Reverse Hunk" msgstr "Hunk alkalmazása/visszaállítása" -#: git-gui.sh:2391 +#: git-gui.sh:2535 msgid "Decrease Font Size" msgstr "Font méret csökkentése" -#: git-gui.sh:2395 +#: git-gui.sh:2539 msgid "Increase Font Size" msgstr "Fönt méret növelése" -#: git-gui.sh:2400 +#: git-gui.sh:2544 msgid "Show Less Context" msgstr "Kevesebb környezet mutatása" -#: git-gui.sh:2407 +#: git-gui.sh:2551 msgid "Show More Context" msgstr "Több környezet mutatása" -#: git-gui.sh:2422 +#: git-gui.sh:2565 msgid "Unstage Hunk From Commit" msgstr "Hunk törlése commitból" -#: git-gui.sh:2426 git-gui.sh:2430 +#: git-gui.sh:2567 msgid "Stage Hunk For Commit" msgstr "Hunk kiválasztása commitba" -#: git-gui.sh:2440 +#: git-gui.sh:2586 msgid "Initializing..." msgstr "Inicializálás..." +#: git-gui.sh:2677 +#, 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:2707 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" + +#: git-gui.sh:2712 +#, 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:25 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - egy grafikus felület a Githez." + #: lib/blame.tcl:77 msgid "File Viewer" msgstr "Fájl néző" @@ -430,6 +488,53 @@ msgstr "Commit másolása" msgid "Reading %s..." msgstr "A(z) %s olvasása..." +#: lib/blame.tcl:473 +msgid "Loading copy/move tracking annotations..." +msgstr "" + +#: lib/blame.tcl:493 +msgid "lines annotated" +msgstr "" + +#: lib/blame.tcl:674 +msgid "Loading original location annotations..." +msgstr "" + +#: lib/blame.tcl:677 +msgid "Annotation complete." +msgstr "" + +#: lib/blame.tcl:731 +#, fuzzy +msgid "Loading annotation..." +msgstr "A(z) %s betöltése..." + +#: lib/blame.tcl:787 +msgid "Author:" +msgstr "" + +#: lib/blame.tcl:791 +#, fuzzy +msgid "Committer:" +msgstr "Commit:" + +#: lib/blame.tcl:796 +msgid "Original File:" +msgstr "" + +#: lib/blame.tcl:910 +msgid "Originally By:" +msgstr "" + +#: lib/blame.tcl:916 +#, fuzzy +msgid "In File:" +msgstr "Fájl:" + +#: lib/blame.tcl:921 +msgid "Copied Or Moved Here By:" +msgstr "" + #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" msgstr "Branch checkoutolása" @@ -439,18 +544,17 @@ msgid "Checkout" msgstr "Checkout" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283 -#: lib/checkout_op.tcl:522 lib/merge.tcl:172 lib/option.tcl:172 -#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Mégsem" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:288 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 msgid "Revision" msgstr "Revízió" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 -#: lib/option.tcl:274 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 msgid "Options" msgstr "Opciók" @@ -470,7 +574,7 @@ msgstr "Branch létrehozása" msgid "Create New Branch" msgstr "Új branch létrehozása" -#: lib/branch_create.tcl:31 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199 msgid "Create" msgstr "Létrehozás" @@ -610,20 +714,22 @@ msgstr "Indítás..." msgid "File Browser" msgstr "Fájl böngésző" -#: lib/browser.tcl:127 lib/browser.tcl:144 +#: lib/browser.tcl:125 lib/browser.tcl:142 #, tcl-format msgid "Loading %s..." msgstr "A(z) %s betöltése..." -#: lib/browser.tcl:188 +#: lib/browser.tcl:186 msgid "[Up To Parent]" msgstr "[Fel a szülőhöz]" -#: lib/browser.tcl:268 lib/browser.tcl:274 +#: lib/browser.tcl:266 lib/browser.tcl:272 msgid "Browse Branch Files" msgstr "A branch fájljainak böngészése" -#: lib/browser.tcl:279 +#: lib/browser.tcl:277 lib/choose_repository.tcl:215 +#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315 +#: lib/choose_repository.tcl:811 msgid "Browse" msgstr "Böngészés" @@ -632,7 +738,12 @@ msgstr "Böngészés" msgid "Fetching %s from %s" msgstr "A(z) %s letöltése innen: %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +#: lib/checkout_op.tcl:127 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "" + +#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" msgstr "Bezárás" @@ -685,6 +796,11 @@ msgstr "" "\n" "Az újrakeresés most automatikusan el fog indulni.\n" +#: lib/checkout_op.tcl:322 +#, fuzzy, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "Nincs munkakönyvtár" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -711,6 +827,11 @@ msgstr "" "Ha egy branchen szeretnénk lenni, hozzunk létre egyet az 'Ez a leválasztott " "checkout'-ból." +#: lib/checkout_op.tcl:446 +#, fuzzy, tcl-format +msgid "Checked out '%s'." +msgstr "Checkout..." + #: lib/checkout_op.tcl:478 #, tcl-format msgid "Resetting '%s' to '%s' will lose the following commits:" @@ -747,6 +868,246 @@ msgstr "" "\n" "Ennek nem szabad megtörténnie. A(z) %s most kilép és feladja." +#: lib/choose_font.tcl:39 +#, fuzzy +msgid "Select" +msgstr "Mindent kiválaszt" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "" + +#: lib/choose_font.tcl:73 +#, fuzzy +msgid "Font Size" +msgstr "Font méret csökkentése" + +#: lib/choose_font.tcl:90 +msgid "Font Example" +msgstr "" + +#: lib/choose_font.tcl:101 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" + +#: lib/choose_repository.tcl:25 +msgid "Git Gui" +msgstr "" + +#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 +#, fuzzy +msgid "Create New Repository" +msgstr "Forrás repó" + +#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 +#, fuzzy +msgid "Clone Existing Repository" +msgstr "Cél repó" + +#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 +#, fuzzy +msgid "Open Existing Repository" +msgstr "Cél repó" + +#: lib/choose_repository.tcl:91 +msgid "Next >" +msgstr "" + +#: lib/choose_repository.tcl:152 +#, fuzzy, tcl-format +msgid "Location %s already exists." +msgstr "A(z) '%s' branch már létezik." + +#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 +#: lib/choose_repository.tcl:172 +#, fuzzy, tcl-format +msgid "Failed to create repository %s:" +msgstr "Nem sikerült teljesen elmenteni a beállításokat:" + +#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 +msgid "Directory:" +msgstr "" + +#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 +#: lib/choose_repository.tcl:834 +#, fuzzy +msgid "Git Repository" +msgstr "Repó" + +#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260 +#, fuzzy, tcl-format +msgid "Directory %s already exists." +msgstr "A(z) '%s' branch már létezik." + +#: lib/choose_repository.tcl:265 +#, fuzzy, tcl-format +msgid "File %s already exists." +msgstr "A(z) '%s' branch már létezik." + +#: lib/choose_repository.tcl:286 +#, fuzzy +msgid "Clone" +msgstr "Bezárás" + +#: lib/choose_repository.tcl:299 +msgid "URL:" +msgstr "" + +#: lib/choose_repository.tcl:319 +msgid "Clone Type:" +msgstr "" + +#: lib/choose_repository.tcl:325 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "" + +#: lib/choose_repository.tcl:331 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "" + +#: lib/choose_repository.tcl:337 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "" + +#: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418 +#: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:840 lib/choose_repository.tcl:848 +#, fuzzy, tcl-format +msgid "Not a Git repository: %s" +msgstr "Nincs kiválasztott repó." + +#: lib/choose_repository.tcl:405 +msgid "Standard only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:409 +msgid "Shared only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:439 +msgid "Failed to configure origin" +msgstr "" + +#: lib/choose_repository.tcl:451 +msgid "Counting objects" +msgstr "" + +#: lib/choose_repository.tcl:452 +msgid "buckets" +msgstr "" + +#: lib/choose_repository.tcl:476 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "" + +#: lib/choose_repository.tcl:512 +#, fuzzy, tcl-format +msgid "Nothing to clone from %s." +msgstr "Új változások letöltése innen: %s" + +#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728 +#: lib/choose_repository.tcl:740 +msgid "The 'master' branch has not been initialized." +msgstr "" + +#: lib/choose_repository.tcl:527 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "" + +#: lib/choose_repository.tcl:539 +#, fuzzy, tcl-format +msgid "Cloning from %s" +msgstr "A(z) %s letöltése innen: %s" + +#: lib/choose_repository.tcl:570 +#, fuzzy +msgid "Copying objects" +msgstr "Az objektum adatbázis tömörítése" + +#: lib/choose_repository.tcl:571 +msgid "KiB" +msgstr "" + +#: lib/choose_repository.tcl:595 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "" + +#: lib/choose_repository.tcl:605 +msgid "Linking objects" +msgstr "" + +#: lib/choose_repository.tcl:606 +msgid "objects" +msgstr "" + +#: lib/choose_repository.tcl:614 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "" + +#: lib/choose_repository.tcl:669 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:680 +msgid "Cannot fetch tags. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:704 +msgid "Cannot determine HEAD. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:713 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "" + +#: lib/choose_repository.tcl:719 +#, fuzzy +msgid "Clone failed." +msgstr "A félbeszakítás nem sikerült." + +#: lib/choose_repository.tcl:726 +msgid "No default branch obtained." +msgstr "" + +#: lib/choose_repository.tcl:737 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "" + +#: lib/choose_repository.tcl:749 +#, fuzzy +msgid "Creating working directory" +msgstr "Nincs munkakönyvtár" + +#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 +#: lib/index.tcl:149 +msgid "files" +msgstr "" + +#: lib/choose_repository.tcl:779 +msgid "Initial file checkout failed." +msgstr "" + +#: lib/choose_repository.tcl:795 +msgid "Open" +msgstr "" + +#: lib/choose_repository.tcl:805 +#, fuzzy +msgid "Repository:" +msgstr "Repó" + +#: lib/choose_repository.tcl:854 +#, fuzzy, tcl-format +msgid "Failed to open repository %s:" +msgstr "Nem sikerült teljesen elmenteni a beállításokat:" + #: lib/choose_rev.tcl:53 msgid "This Detached Checkout" msgstr "Ez a leválasztott checkout" @@ -763,7 +1124,7 @@ msgstr "Helyi branch" msgid "Tracking Branch" msgstr "Követő branch" -#: lib/choose_rev.tcl:84 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 msgid "Tag" msgstr "Tag" @@ -780,6 +1141,14 @@ msgstr "Nincs kiválasztva revízió." msgid "Revision expression is empty." msgstr "A revízió kifejezés üres." +#: lib/choose_rev.tcl:530 +msgid "Updated" +msgstr "" + +#: lib/choose_rev.tcl:558 +msgid "URL" +msgstr "" + #: lib/commit.tcl:9 msgid "" "There is nothing to amend.\n" @@ -890,6 +1259,11 @@ msgstr "" msgid "write-tree failed:" msgstr "a write-tree sikertelen:" +#: lib/commit.tcl:275 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "" + #: lib/commit.tcl:279 msgid "" "No changes to commit.\n" @@ -908,6 +1282,11 @@ msgstr "" msgid "No changes to commit." msgstr "Nincs commitolandó változtatás." +#: lib/commit.tcl:303 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "" + #: lib/commit.tcl:317 msgid "commit-tree failed:" msgstr "a commit-tree sikertelen:" @@ -921,15 +1300,15 @@ msgstr "az update-ref sikertelen:" msgid "Created commit %s: %s" msgstr "Létrejött a %s commit: %s" -#: lib/console.tcl:55 +#: lib/console.tcl:57 msgid "Working... please wait..." msgstr "Munka folyamatban.. Várjunk..." -#: lib/console.tcl:184 +#: lib/console.tcl:183 msgid "Success" msgstr "Siker" -#: lib/console.tcl:194 +#: lib/console.tcl:196 msgid "Error: Command Failed" msgstr "Hiba: a parancs sikertelen" @@ -969,6 +1348,22 @@ msgstr "Az objektum adatbázis tömörítése" msgid "Verifying the object database with fsck-objects" msgstr "Az objektum adatbázis ellenőrzése az fsck-objects használatával" +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" + +#: lib/date.tcl:25 +#, fuzzy, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Érvénytelen revízió: %s" + #: lib/diff.tcl:42 #, tcl-format msgid "" @@ -991,19 +1386,37 @@ msgstr "" "\n" "Egy újrakeresés fog indulni a hasonló állapotú fájlok megtalálása érdekében." -#: lib/diff.tcl:97 +#: lib/diff.tcl:81 +#, fuzzy, tcl-format +msgid "Loading diff of %s..." +msgstr "A(z) %s betöltése..." + +#: lib/diff.tcl:114 lib/diff.tcl:184 +#, tcl-format +msgid "Unable to display %s" +msgstr "" + +#: lib/diff.tcl:115 msgid "Error loading file:" msgstr "Hiba a fájl betöltése közben:" -#: lib/diff.tcl:162 +#: lib/diff.tcl:122 +msgid "Git Repository (subproject)" +msgstr "" + +#: lib/diff.tcl:134 +msgid "* Binary file (not showing content)." +msgstr "" + +#: lib/diff.tcl:185 msgid "Error loading diff:" msgstr "Hiba a diff betöltése közben:" -#: lib/diff.tcl:278 +#: lib/diff.tcl:302 msgid "Failed to unstage selected hunk." msgstr "Nem visszavonni a hunk kiválasztását." -#: lib/diff.tcl:285 +#: lib/diff.tcl:309 msgid "Failed to stage selected hunk." msgstr "Nem sikerült kiválasztani a hunkot." @@ -1019,23 +1432,33 @@ msgstr "figyelmeztetés" msgid "You must correct the above errors before committing." msgstr "Ki kell javítanunk a fenti hibákat commit előtt." -#: lib/index.tcl:364 +#: lib/index.tcl:241 +#, fuzzy, tcl-format +msgid "Unstaging %s from commit" +msgstr "Commitba való kiválasztás visszavonása" + +#: lib/index.tcl:285 +#, fuzzy, tcl-format +msgid "Adding %s" +msgstr "A(z) %s olvasása..." + +#: lib/index.tcl:340 #, tcl-format msgid "Revert changes in file %s?" msgstr "Visszaállítja a változtatásokat a(z) %s fájlban?" -#: lib/index.tcl:366 +#: lib/index.tcl:342 #, 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:372 +#: lib/index.tcl:348 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:375 +#: lib/index.tcl:351 msgid "Do Nothing" msgstr "Ne csináljunk semmit" @@ -1180,71 +1603,101 @@ msgstr "A félbeszakítás nem sikerült." msgid "Abort completed. Ready." msgstr "A megkeszakítás befejeződött. Kész." -#: lib/option.tcl:77 -msgid "git-gui - a graphical user interface for Git." -msgstr "git-gui - egy grafikus felület a Githez." - -#: lib/option.tcl:164 +#: lib/option.tcl:82 msgid "Restore Defaults" msgstr "Alapértelmezés visszaállítása" -#: lib/option.tcl:168 +#: lib/option.tcl:86 msgid "Save" msgstr "Mentés" -#: lib/option.tcl:178 +#: lib/option.tcl:96 #, tcl-format msgid "%s Repository" msgstr "%s Repó" -#: lib/option.tcl:179 +#: lib/option.tcl:97 msgid "Global (All Repositories)" msgstr "Globális (minden repó)" -#: lib/option.tcl:185 +#: lib/option.tcl:103 msgid "User Name" msgstr "Felhasználónév" -#: lib/option.tcl:186 +#: lib/option.tcl:104 msgid "Email Address" msgstr "Email cím" -#: lib/option.tcl:188 +#: lib/option.tcl:106 msgid "Summarize Merge Commits" msgstr "A merge commitok összegzése" -#: lib/option.tcl:189 +#: lib/option.tcl:107 msgid "Merge Verbosity" msgstr "Merge beszédesség" -#: lib/option.tcl:190 +#: lib/option.tcl:108 msgid "Show Diffstat After Merge" msgstr "Diffstat mutatása merge után" -#: lib/option.tcl:192 +#: lib/option.tcl:110 msgid "Trust File Modification Timestamps" msgstr "A fájl módosítási dátumok megbízhatóak" -#: lib/option.tcl:193 +#: lib/option.tcl:111 msgid "Prune Tracking Branches During Fetch" msgstr "A követő branchek eltávolítása letöltés alatt" -#: lib/option.tcl:194 +#: lib/option.tcl:112 msgid "Match Tracking Branches" msgstr "A követő branchek egyeztetése" -#: lib/option.tcl:195 +#: lib/option.tcl:113 msgid "Number of Diff Context Lines" msgstr "A diff környezeti sorok száma" -#: lib/option.tcl:196 +#: lib/option.tcl:114 msgid "New Branch Name Template" msgstr "Új branch név sablon" -#: lib/option.tcl:305 +#: lib/option.tcl:176 +#, fuzzy +msgid "Change Font" +msgstr "Fő betűtípus" + +#: lib/option.tcl:180 +#, tcl-format +msgid "Choose %s" +msgstr "" + +#: lib/option.tcl:186 +msgid "pt." +msgstr "" + +#: lib/option.tcl:200 +msgid "Preferences" +msgstr "" + +#: lib/option.tcl:235 msgid "Failed to completely save options:" msgstr "Nem sikerült teljesen elmenteni a beállításokat:" +#: lib/remote.tcl:165 +#, fuzzy +msgid "Prune from" +msgstr "Törlés innen: %s..." + +# tcl-format +#: lib/remote.tcl:170 +#, fuzzy +msgid "Fetch from" +msgstr "Letöltés innen: %s..." + +#: lib/remote.tcl:213 +#, fuzzy +msgid "Push to" +msgstr "Push" + #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 msgid "Delete Remote Branch" msgstr "Távoli branch törlése" @@ -1253,11 +1706,11 @@ msgstr "Távoli branch törlése" msgid "From Repository" msgstr "Forrás repó" -#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 msgid "Remote:" msgstr "Távoli:" -#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 msgid "Arbitrary URL:" msgstr "Tetszőleges URL:" @@ -1281,6 +1734,14 @@ msgstr "Mindig (Ne végezzen merge vizsgálatokat)" msgid "A branch is required for 'Merged Into'." msgstr "Egy branch szükséges a 'Merge-ölt a következőbe'-hez." +#: lib/remote_branch_delete.tcl:184 +#, fuzzy, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "A következő branchek nem teljesen lettek merge-ölve ebbe: %s:" + #: lib/remote_branch_delete.tcl:189 #, tcl-format msgid "" @@ -1318,22 +1779,6 @@ msgstr "Nincs kiválasztott repó." msgid "Scanning %s..." msgstr "Keresés itt: %s..." -# tcl-format -#: lib/remote.tcl:162 -#, tcl-format -msgid "Fetch from %s..." -msgstr "Letöltés innen: %s..." - -#: lib/remote.tcl:172 -#, tcl-format -msgid "Prune from %s..." -msgstr "Törlés innen: %s..." - -#: lib/remote.tcl:206 -#, tcl-format -msgid "Push to %s..." -msgstr "Pusholás ide: %s..." - #: lib/shortcut.tcl:26 lib/shortcut.tcl:74 msgid "Cannot write script:" msgstr "Nem sikerült írni a scriptet:" @@ -1342,55 +1787,83 @@ msgstr "Nem sikerült írni a scriptet:" msgid "Cannot write icon:" msgstr "Nem sikerült írni az ikont:" -#: lib/status_bar.tcl:58 +#: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" msgstr "%s ... %*i / %*i %s (%3i%%)" +#: lib/transport.tcl:6 +#, fuzzy, tcl-format +msgid "fetch %s" +msgstr "Letöltés" + #: lib/transport.tcl:7 #, tcl-format msgid "Fetching new changes from %s" msgstr "Új változások letöltése innen: %s" +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "" + #: lib/transport.tcl:19 #, tcl-format msgid "Pruning tracking branches deleted from %s" msgstr "A %s repóból törölt követő branchek törlése" +#: lib/transport.tcl:25 lib/transport.tcl:71 +#, tcl-format +msgid "push %s" +msgstr "" + #: lib/transport.tcl:26 #, tcl-format msgid "Pushing changes to %s" msgstr "Változások pusholása ide: %s" -#: lib/transport.tcl:68 +#: lib/transport.tcl:72 #, tcl-format msgid "Pushing %s %s to %s" msgstr "Pusholás: %s %s, ide: %s" -#: lib/transport.tcl:84 +#: lib/transport.tcl:89 msgid "Push Branches" msgstr "Branchek pusholása" -#: lib/transport.tcl:98 +#: lib/transport.tcl:103 msgid "Source Branches" msgstr "Forrás branchek" -#: lib/transport.tcl:115 +#: lib/transport.tcl:120 msgid "Destination Repository" msgstr "Cél repó" -#: lib/transport.tcl:153 +#: lib/transport.tcl:158 msgid "Transfer Options" msgstr "Átviteli opciók" -#: lib/transport.tcl:155 +#: lib/transport.tcl:160 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "" + +#: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" msgstr "Vékony csomagok használata (lassú hálózati kapcsolatok számára)" -#: lib/transport.tcl:159 +#: lib/transport.tcl:168 msgid "Include tags" msgstr "Tageket is" +#~ 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" diff --git a/po/it.po b/po/it.po index ad5cd9e5da..d959019aab 100644 --- a/po/it.po +++ b/po/it.po @@ -9,23 +9,41 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-08-11 17:28+0200\n" +"POT-Creation-Date: 2007-10-10 04:04-0400\n" "PO-Revision-Date: 2007-08-09 00:27+0200\n" "Last-Translator: Paolo Ciarrocchi \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" -"Content-Transfer-Encoding: 8bit" +"Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:531 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 +msgid "git-gui: fatal error" +msgstr "" + +#: git-gui.sh:595 +#, fuzzy, tcl-format +msgid "Invalid font specified in %s:" +msgstr "Caratteri non validi specificati nella gui.%s:" + +#: git-gui.sh:620 +msgid "Main Font" +msgstr "Caratteri principali" + +#: git-gui.sh:621 +msgid "Diff/Console Font" +msgstr "Caratteri per confronti e terminale" + +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "Impossibile trovare git nel PATH" -#: git-gui.sh:550 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Impossibile determinare la versione di Git:" -#: git-gui.sh:567 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -44,79 +62,80 @@ msgstr "" "\n" "Assumere che '%s' sia alla versione 1.5.0?\n" -#: git-gui.sh:689 -msgid "Cannot find the git directory:" -msgstr "Non posso trovare la directory di git:" - -#: git-gui.sh:697 +#: git-gui.sh:853 msgid "Git directory not found:" msgstr "Non trovo la directory di git: " -#: git-gui.sh:703 +#: git-gui.sh:860 +#, fuzzy +msgid "Cannot move to top of working directory:" +msgstr "Impossibile usare una .git directory strana:" + +#: git-gui.sh:867 msgid "Cannot use funny .git directory:" msgstr "Impossibile usare una .git directory strana:" -#: git-gui.sh:708 +#: git-gui.sh:872 msgid "No working directory" msgstr "Nessuna directory di lavoro" -#: git-gui.sh:854 +#: git-gui.sh:1019 msgid "Refreshing file status..." msgstr "Controllo dello stato dei file in corso..." -#: git-gui.sh:891 +#: git-gui.sh:1084 msgid "Scanning for modified files ..." msgstr "Ricerca di file modificati in corso..." -#: git-gui.sh:1057 lib/browser.tcl:247 +#: git-gui.sh:1259 lib/browser.tcl:245 msgid "Ready." msgstr "Pronto." -#: git-gui.sh:1322 +#: git-gui.sh:1525 msgid "Unmodified" msgstr "Non modificato" -#: git-gui.sh:1324 +#: git-gui.sh:1527 msgid "Modified, not staged" msgstr "Modificato, non pronto per il commit" -#: git-gui.sh:1325 git-gui.sh:1330 +#: git-gui.sh:1528 git-gui.sh:1533 msgid "Staged for commit" msgstr "Pronto per il commit" -#: git-gui.sh:1326 git-gui.sh:1331 +#: git-gui.sh:1529 git-gui.sh:1534 msgid "Portions staged for commit" msgstr "Parti pronte per il commit" -#: git-gui.sh:1327 git-gui.sh:1332 +#: git-gui.sh:1530 git-gui.sh:1535 msgid "Staged for commit, missing" msgstr "Pronto per il commit, mancante" -#: git-gui.sh:1329 +#: git-gui.sh:1532 msgid "Untracked, not staged" msgstr "Non tracciato, non pronto per il commit" -#: git-gui.sh:1334 +#: git-gui.sh:1537 msgid "Missing" msgstr "Mancante" -#: git-gui.sh:1335 +#: git-gui.sh:1538 msgid "Staged for removal" msgstr "Pronto per la rimozione" -#: git-gui.sh:1336 +#: git-gui.sh:1539 msgid "Staged for removal, still present" msgstr "Pronto alla rimozione, ancora presente" -#: git-gui.sh:1338 git-gui.sh:1339 git-gui.sh:1340 git-gui.sh:1341 +#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544 msgid "Requires merge resolution" msgstr "Richiede risoluzione dei conflitti" -#: git-gui.sh:1383 +#: git-gui.sh:1579 msgid "Starting gitk... please wait..." msgstr "Avvio di gitk... attendere..." -#: git-gui.sh:1392 +#: git-gui.sh:1588 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -127,293 +146,332 @@ msgstr "" "\n" "%s non esiste" -#: git-gui.sh:1609 -#, tcl-format -msgid "Invalid font specified in gui.%s:" -msgstr "Caratteri non validi specificati nella gui.%s:" - -#: git-gui.sh:1634 -msgid "Main Font" -msgstr "Caratteri principali" - -#: git-gui.sh:1635 -msgid "Diff/Console Font" -msgstr "Caratteri per confronti e terminale" - -#: git-gui.sh:1649 +#: git-gui.sh:1788 lib/choose_repository.tcl:32 msgid "Repository" msgstr "Archivio" -#: git-gui.sh:1650 +#: git-gui.sh:1789 msgid "Edit" msgstr "Modifica" -#: git-gui.sh:1652 +#: git-gui.sh:1791 lib/choose_rev.tcl:560 msgid "Branch" msgstr "Ramo" -#: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152 -msgid "Commit" +#: git-gui.sh:1794 lib/choose_rev.tcl:547 +#, fuzzy +msgid "Commit@@noun" msgstr "Commit" -#: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "Fusione (Merge)" -#: git-gui.sh:1659 -msgid "Fetch" -msgstr "Preleva (Fetch)" +#: git-gui.sh:1798 lib/choose_rev.tcl:556 +#, fuzzy +msgid "Remote" +msgstr "Remoto:" -#: git-gui.sh:1660 git-gui.sh:2158 lib/transport.tcl:88 lib/transport.tcl:172 -msgid "Push" -msgstr "Propaga (Push)" - -#: git-gui.sh:1669 +#: git-gui.sh:1807 msgid "Browse Current Branch's Files" msgstr "Esplora i file del ramo corrente" -#: git-gui.sh:1673 +#: git-gui.sh:1811 msgid "Browse Branch Files..." msgstr "Esplora i file del ramo..." -#: git-gui.sh:1678 +#: git-gui.sh:1816 msgid "Visualize Current Branch's History" msgstr "Visualizza la cronologia del ramo corrente" -#: git-gui.sh:1682 +#: git-gui.sh:1820 msgid "Visualize All Branch History" msgstr "Visualizza la cronologia di tutti i rami" -#: git-gui.sh:1689 +#: git-gui.sh:1827 #, tcl-format msgid "Browse %s's Files" msgstr "Esplora i file di %s" -#: git-gui.sh:1691 +#: git-gui.sh:1829 #, tcl-format msgid "Visualize %s's History" msgstr "Visualizza la cronologia di %s" -#: git-gui.sh:1696 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Statistiche del database" -#: git-gui.sh:1699 lib/database.tcl:34 +#: git-gui.sh:1837 lib/database.tcl:34 msgid "Compress Database" msgstr "Comprimi il database" -#: git-gui.sh:1702 +#: git-gui.sh:1840 msgid "Verify Database" msgstr "Verifica il database" -#: git-gui.sh:1709 git-gui.sh:1713 git-gui.sh:1717 lib/shortcut.tcl:9 +#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9 #: lib/shortcut.tcl:45 lib/shortcut.tcl:84 msgid "Create Desktop Icon" msgstr "Crea icona desktop" -#: git-gui.sh:1722 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95 msgid "Quit" msgstr "Esci" -#: git-gui.sh:1729 +#: git-gui.sh:1867 msgid "Undo" msgstr "Annulla" -#: git-gui.sh:1732 +#: git-gui.sh:1870 msgid "Redo" msgstr "Ripeti" -#: git-gui.sh:1736 git-gui.sh:2222 +#: git-gui.sh:1874 git-gui.sh:2366 msgid "Cut" msgstr "Taglia" -#: git-gui.sh:1739 git-gui.sh:2225 git-gui.sh:2296 git-gui.sh:2368 -#: lib/console.tcl:69 +#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512 +#: lib/console.tcl:67 msgid "Copy" msgstr "Copia" -#: git-gui.sh:1742 git-gui.sh:2228 +#: git-gui.sh:1880 git-gui.sh:2372 msgid "Paste" msgstr "Incolla" -#: git-gui.sh:1745 git-gui.sh:2231 lib/branch_delete.tcl:26 +#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Elimina" -#: git-gui.sh:1749 git-gui.sh:2235 git-gui.sh:2372 lib/console.tcl:71 +#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69 msgid "Select All" msgstr "Seleziona tutto" -#: git-gui.sh:1758 +#: git-gui.sh:1896 msgid "Create..." msgstr "Crea..." -#: git-gui.sh:1764 +#: git-gui.sh:1902 msgid "Checkout..." msgstr "Checkout..." -#: git-gui.sh:1770 +#: git-gui.sh:1908 msgid "Rename..." msgstr "Rinomina" -#: git-gui.sh:1775 git-gui.sh:1873 +#: git-gui.sh:1913 git-gui.sh:2012 msgid "Delete..." msgstr "Elimina..." -#: git-gui.sh:1780 +#: git-gui.sh:1918 msgid "Reset..." msgstr "Ripristina..." -#: git-gui.sh:1792 git-gui.sh:2169 +#: git-gui.sh:1930 git-gui.sh:2313 msgid "New Commit" msgstr "Nuovo commit" -#: git-gui.sh:1800 git-gui.sh:2176 +#: git-gui.sh:1938 git-gui.sh:2320 msgid "Amend Last Commit" msgstr "Correggi l'ultimo commit" -#: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Analizza nuovamente" -#: git-gui.sh:1815 +#: git-gui.sh:1953 msgid "Stage To Commit" msgstr "Prepara per il commit" -#: git-gui.sh:1820 +#: git-gui.sh:1958 msgid "Stage Changed Files To Commit" msgstr "Prepara per il commit i file modificati" -#: git-gui.sh:1826 +#: git-gui.sh:1964 msgid "Unstage From Commit" msgstr "Non pronto per il commit" -#: git-gui.sh:1831 lib/index.tcl:376 +#: git-gui.sh:1969 lib/index.tcl:352 msgid "Revert Changes" msgstr "Annulla modifiche" -#: git-gui.sh:1838 git-gui.sh:2148 git-gui.sh:2246 +#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390 msgid "Sign Off" msgstr "Sign Off" -#: git-gui.sh:1853 +#: git-gui.sh:1980 git-gui.sh:2296 +#, fuzzy +msgid "Commit@@verb" +msgstr "Commit" + +#: git-gui.sh:1991 msgid "Local Merge..." msgstr "Fusione locale" -#: git-gui.sh:1858 +#: git-gui.sh:1996 msgid "Abort Merge..." msgstr "Interrompi fusione" -#: git-gui.sh:1870 +#: git-gui.sh:2008 msgid "Push..." msgstr "Propaga..." -#: git-gui.sh:1880 +#: git-gui.sh:2019 lib/choose_repository.tcl:41 msgid "Apple" msgstr "Apple" -#: git-gui.sh:1883 git-gui.sh:1901 lib/option.tcl:65 +#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "Informazioni su %s" -#: git-gui.sh:1885 git-gui.sh:1891 git-gui.sh:2414 +#: git-gui.sh:2026 +msgid "Preferences..." +msgstr "" + +#: git-gui.sh:2034 git-gui.sh:2558 msgid "Options..." msgstr "Opzioni..." -#: git-gui.sh:1897 +#: git-gui.sh:2040 lib/choose_repository.tcl:47 msgid "Help" msgstr "Aiuto" -#: git-gui.sh:1938 +#: git-gui.sh:2081 msgid "Online Documentation" msgstr "Documentazione sul web" -#: git-gui.sh:2054 +#: git-gui.sh:2165 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" + +#: git-gui.sh:2198 msgid "Current Branch:" msgstr "Ramo attuale:" -#: git-gui.sh:2075 -msgid "Staged Changes (Will Be Committed)" +#: git-gui.sh:2219 +#, fuzzy +msgid "Staged Changes (Will Commit)" msgstr "Modifiche preparate (ne verrà effettuato il commit)" -#: git-gui.sh:2095 -msgid "Unstaged Changes (Will Not Be Committed)" -msgstr "Modifiche non preparate (non ne verrà effettuato il commit)" +#: git-gui.sh:2239 +#, fuzzy +msgid "Unstaged Changes" +msgstr "Prepara modificati" -#: git-gui.sh:2142 +#: git-gui.sh:2286 msgid "Stage Changed" msgstr "Prepara modificati" -#: git-gui.sh:2188 +#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182 +msgid "Push" +msgstr "Propaga (Push)" + +#: git-gui.sh:2332 msgid "Initial Commit Message:" msgstr "Messaggio di commit iniziale:" -#: git-gui.sh:2189 +#: git-gui.sh:2333 msgid "Amended Commit Message:" msgstr "Messaggio di commit corretto:" -#: git-gui.sh:2190 +#: git-gui.sh:2334 msgid "Amended Initial Commit Message:" msgstr "Messaggio iniziale di commit corretto:" -#: git-gui.sh:2191 +#: git-gui.sh:2335 msgid "Amended Merge Commit Message:" msgstr "Messaggio di fusione corretto:" -#: git-gui.sh:2192 +#: git-gui.sh:2336 msgid "Merge Commit Message:" msgstr "Messaggio di fusione:" -#: git-gui.sh:2193 +#: git-gui.sh:2337 msgid "Commit Message:" msgstr "Messaggio di commit:" -#: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73 +#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71 msgid "Copy All" msgstr "Copia tutto" -#: git-gui.sh:2262 lib/blame.tcl:104 +#: git-gui.sh:2406 lib/blame.tcl:104 msgid "File:" msgstr "File:" -#: git-gui.sh:2364 +#: git-gui.sh:2508 msgid "Refresh" msgstr "Rinfresca" -#: git-gui.sh:2385 +#: git-gui.sh:2529 msgid "Apply/Reverse Hunk" msgstr "Applica/Inverti sezione" -#: git-gui.sh:2391 +#: git-gui.sh:2535 msgid "Decrease Font Size" msgstr "Diminuisci dimensione caratteri" -#: git-gui.sh:2395 +#: git-gui.sh:2539 msgid "Increase Font Size" msgstr "Aumenta dimensione caratteri" -#: git-gui.sh:2400 +#: git-gui.sh:2544 msgid "Show Less Context" msgstr "Mostra meno contesto" -#: git-gui.sh:2407 +#: git-gui.sh:2551 msgid "Show More Context" msgstr "Mostra più contesto" -#: git-gui.sh:2422 +#: git-gui.sh:2565 msgid "Unstage Hunk From Commit" msgstr "Sezione non pronta per il commit" -#: git-gui.sh:2426 git-gui.sh:2430 +#: git-gui.sh:2567 msgid "Stage Hunk For Commit" msgstr "Prepara sezione per il commit" -#: git-gui.sh:2440 +#: git-gui.sh:2586 msgid "Initializing..." msgstr "Inizializzazione..." +#: git-gui.sh:2677 +#, 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:2707 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" + +#: git-gui.sh:2712 +#, 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:25 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - un'interfaccia grafica per Git." + #: lib/blame.tcl:77 msgid "File Viewer" msgstr "Mostra file" @@ -431,6 +489,53 @@ msgstr "Copia commit" msgid "Reading %s..." msgstr "Lettura di %s..." +#: lib/blame.tcl:473 +msgid "Loading copy/move tracking annotations..." +msgstr "" + +#: lib/blame.tcl:493 +msgid "lines annotated" +msgstr "" + +#: lib/blame.tcl:674 +msgid "Loading original location annotations..." +msgstr "" + +#: lib/blame.tcl:677 +msgid "Annotation complete." +msgstr "" + +#: lib/blame.tcl:731 +#, fuzzy +msgid "Loading annotation..." +msgstr "Caricamento %s..." + +#: lib/blame.tcl:787 +msgid "Author:" +msgstr "" + +#: lib/blame.tcl:791 +#, fuzzy +msgid "Committer:" +msgstr "Commit:" + +#: lib/blame.tcl:796 +msgid "Original File:" +msgstr "" + +#: lib/blame.tcl:910 +msgid "Originally By:" +msgstr "" + +#: lib/blame.tcl:916 +#, fuzzy +msgid "In File:" +msgstr "File:" + +#: lib/blame.tcl:921 +msgid "Copied Or Moved Here By:" +msgstr "" + #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" msgstr "Checkout ramo" @@ -440,18 +545,17 @@ msgid "Checkout" msgstr "Checkout" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283 -#: lib/checkout_op.tcl:522 lib/merge.tcl:172 lib/option.tcl:172 -#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Annulla" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:288 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 msgid "Revision" msgstr "Revisione" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 -#: lib/option.tcl:274 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 msgid "Options" msgstr "Opzioni" @@ -471,7 +575,7 @@ msgstr "Crea ramo" msgid "Create New Branch" msgstr "Crea nuovo ramo" -#: lib/branch_create.tcl:31 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199 msgid "Create" msgstr "Crea" @@ -611,20 +715,22 @@ msgstr "Avvio in corso..." msgid "File Browser" msgstr "File browser" -#: lib/browser.tcl:127 lib/browser.tcl:144 +#: lib/browser.tcl:125 lib/browser.tcl:142 #, tcl-format msgid "Loading %s..." msgstr "Caricamento %s..." -#: lib/browser.tcl:188 +#: lib/browser.tcl:186 msgid "[Up To Parent]" msgstr "[Directory superiore]" -#: lib/browser.tcl:268 lib/browser.tcl:274 +#: lib/browser.tcl:266 lib/browser.tcl:272 msgid "Browse Branch Files" msgstr "Esplora i file del ramo" -#: lib/browser.tcl:279 +#: lib/browser.tcl:277 lib/choose_repository.tcl:215 +#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315 +#: lib/choose_repository.tcl:811 msgid "Browse" msgstr "Sfoglia" @@ -633,7 +739,12 @@ msgstr "Sfoglia" msgid "Fetching %s from %s" msgstr "Recupero %s da %s" -#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +#: lib/checkout_op.tcl:127 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "" + +#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" msgstr "Chiudi" @@ -649,7 +760,8 @@ msgid "" "\n" "It cannot fast-forward to %s.\n" "A merge is required." -msgstr "Il ramo '%s' esiste già.\n" +msgstr "" +"Il ramo '%s' esiste già.\n" "\n" "Non può effettuare un 'fast-forward' a %s.\n" "E' necessaria una fusione." @@ -685,6 +797,11 @@ msgstr "" "\n" "La nuova analisi comincerà ora.\n" +#: lib/checkout_op.tcl:322 +#, fuzzy, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "Nessuna directory di lavoro" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -708,8 +825,13 @@ msgid "" msgstr "" "Non si è più su un ramo locale\n" "\n" -"Se si vuole rimanere su un ramo, crearne uno ora a partire da 'Questo checkout " -"staccato'." +"Se si vuole rimanere su un ramo, crearne uno ora a partire da 'Questo " +"checkout staccato'." + +#: lib/checkout_op.tcl:446 +#, fuzzy, tcl-format +msgid "Checked out '%s'." +msgstr "Checkout..." #: lib/checkout_op.tcl:478 #, tcl-format @@ -741,12 +863,252 @@ msgid "" msgstr "" "Preparazione ramo corrente fallita.\n" "\n" -"Questa directory di lavoro è stata convertita solo parzialmente. I file " -"sono stati aggiornati correttamente, ma l'aggiornamento di un file di Git ha " +"Questa directory di lavoro è stata convertita solo parzialmente. I file sono " +"stati aggiornati correttamente, ma l'aggiornamento di un file di Git ha " "prodotto degli errori.\n" "\n" "Questo non sarebbe dovuto succedere. %s ora terminerà senza altre azioni." +#: lib/choose_font.tcl:39 +#, fuzzy +msgid "Select" +msgstr "Seleziona tutto" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "" + +#: lib/choose_font.tcl:73 +#, fuzzy +msgid "Font Size" +msgstr "Diminuisci dimensione caratteri" + +#: lib/choose_font.tcl:90 +msgid "Font Example" +msgstr "" + +#: lib/choose_font.tcl:101 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" + +#: lib/choose_repository.tcl:25 +msgid "Git Gui" +msgstr "" + +#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 +#, fuzzy +msgid "Create New Repository" +msgstr "Da archivio" + +#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 +#, fuzzy +msgid "Clone Existing Repository" +msgstr "Archivio di destinazione" + +#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 +#, fuzzy +msgid "Open Existing Repository" +msgstr "Archivio di destinazione" + +#: lib/choose_repository.tcl:91 +msgid "Next >" +msgstr "" + +#: lib/choose_repository.tcl:152 +#, fuzzy, tcl-format +msgid "Location %s already exists." +msgstr "Il ramo '%s' esiste già" + +#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 +#: lib/choose_repository.tcl:172 +#, fuzzy, tcl-format +msgid "Failed to create repository %s:" +msgstr "Fallimento nel salvataggio completo delle opzioni:" + +#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 +msgid "Directory:" +msgstr "" + +#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 +#: lib/choose_repository.tcl:834 +#, fuzzy +msgid "Git Repository" +msgstr "Archivio" + +#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260 +#, fuzzy, tcl-format +msgid "Directory %s already exists." +msgstr "Il ramo '%s' esiste già" + +#: lib/choose_repository.tcl:265 +#, fuzzy, tcl-format +msgid "File %s already exists." +msgstr "Il ramo '%s' esiste già" + +#: lib/choose_repository.tcl:286 +#, fuzzy +msgid "Clone" +msgstr "Chiudi" + +#: lib/choose_repository.tcl:299 +msgid "URL:" +msgstr "" + +#: lib/choose_repository.tcl:319 +msgid "Clone Type:" +msgstr "" + +#: lib/choose_repository.tcl:325 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "" + +#: lib/choose_repository.tcl:331 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "" + +#: lib/choose_repository.tcl:337 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "" + +#: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418 +#: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:840 lib/choose_repository.tcl:848 +#, fuzzy, tcl-format +msgid "Not a Git repository: %s" +msgstr "Nessun archivio selezionato." + +#: lib/choose_repository.tcl:405 +msgid "Standard only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:409 +msgid "Shared only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:439 +msgid "Failed to configure origin" +msgstr "" + +#: lib/choose_repository.tcl:451 +msgid "Counting objects" +msgstr "" + +#: lib/choose_repository.tcl:452 +msgid "buckets" +msgstr "" + +#: lib/choose_repository.tcl:476 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "" + +#: lib/choose_repository.tcl:512 +#, fuzzy, tcl-format +msgid "Nothing to clone from %s." +msgstr "Recupero nuove modifiche da %s" + +#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728 +#: lib/choose_repository.tcl:740 +msgid "The 'master' branch has not been initialized." +msgstr "" + +#: lib/choose_repository.tcl:527 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "" + +#: lib/choose_repository.tcl:539 +#, fuzzy, tcl-format +msgid "Cloning from %s" +msgstr "Recupero %s da %s" + +#: lib/choose_repository.tcl:570 +#, fuzzy +msgid "Copying objects" +msgstr "Compressione del database in corso" + +#: lib/choose_repository.tcl:571 +msgid "KiB" +msgstr "" + +#: lib/choose_repository.tcl:595 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "" + +#: lib/choose_repository.tcl:605 +msgid "Linking objects" +msgstr "" + +#: lib/choose_repository.tcl:606 +msgid "objects" +msgstr "" + +#: lib/choose_repository.tcl:614 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "" + +#: lib/choose_repository.tcl:669 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:680 +msgid "Cannot fetch tags. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:704 +msgid "Cannot determine HEAD. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:713 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "" + +#: lib/choose_repository.tcl:719 +#, fuzzy +msgid "Clone failed." +msgstr "Interruzione fallita." + +#: lib/choose_repository.tcl:726 +msgid "No default branch obtained." +msgstr "" + +#: lib/choose_repository.tcl:737 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "" + +#: lib/choose_repository.tcl:749 +#, fuzzy +msgid "Creating working directory" +msgstr "Nessuna directory di lavoro" + +#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 +#: lib/index.tcl:149 +msgid "files" +msgstr "" + +#: lib/choose_repository.tcl:779 +msgid "Initial file checkout failed." +msgstr "" + +#: lib/choose_repository.tcl:795 +msgid "Open" +msgstr "" + +#: lib/choose_repository.tcl:805 +#, fuzzy +msgid "Repository:" +msgstr "Archivio" + +#: lib/choose_repository.tcl:854 +#, fuzzy, tcl-format +msgid "Failed to open repository %s:" +msgstr "Fallimento nel salvataggio completo delle opzioni:" + #: lib/choose_rev.tcl:53 msgid "This Detached Checkout" msgstr "Questo checkout staccato" @@ -763,7 +1125,7 @@ msgstr "Ramo locale" msgid "Tracking Branch" msgstr "Ramo in 'tracking'" -#: lib/choose_rev.tcl:84 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 msgid "Tag" msgstr "Etichetta" @@ -780,6 +1142,14 @@ msgstr "Nessuna revisione selezionata." msgid "Revision expression is empty." msgstr "L'espressione di revisione è vuota." +#: lib/choose_rev.tcl:530 +msgid "Updated" +msgstr "" + +#: lib/choose_rev.tcl:558 +msgid "URL" +msgstr "" + #: lib/commit.tcl:9 msgid "" "There is nothing to amend.\n" @@ -844,8 +1214,8 @@ msgid "" msgstr "" "Non è possibile effettuare il commit di file non sottoposti a fusione.\n" "\n" -"Il file %s presenta dei conflitti. Devi risolverli e preparare il file " -"per il commit prima di effettuare questa azione.\n" +"Il file %s presenta dei conflitti. Devi risolverli e preparare il file per " +"il commit prima di effettuare questa azione.\n" #: lib/commit.tcl:162 #, tcl-format @@ -866,7 +1236,8 @@ msgid "" msgstr "" "Nessuna modifica per la quale effettuare il commit.\n" "\n" -"Devi preparare per il commit almeno 1 file prima di effettuare questa operazione.\n" +"Devi preparare per il commit almeno 1 file prima di effettuare questa " +"operazione.\n" #: lib/commit.tcl:183 msgid "" @@ -890,6 +1261,11 @@ msgstr "" msgid "write-tree failed:" msgstr "write-tree fallito:" +#: lib/commit.tcl:275 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "" + #: lib/commit.tcl:279 msgid "" "No changes to commit.\n" @@ -908,6 +1284,11 @@ msgstr "" msgid "No changes to commit." msgstr "Nessuna modifica pronta per il commit." +#: lib/commit.tcl:303 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "" + #: lib/commit.tcl:317 msgid "commit-tree failed:" msgstr "commit-tree fallito:" @@ -921,15 +1302,15 @@ msgstr "update-ref fallito:" msgid "Created commit %s: %s" msgstr "Creato commit %s: %s" -#: lib/console.tcl:55 +#: lib/console.tcl:57 msgid "Working... please wait..." msgstr "Elaborazione in corso... attendere..." -#: lib/console.tcl:184 +#: lib/console.tcl:183 msgid "Success" msgstr "Successo" -#: lib/console.tcl:194 +#: lib/console.tcl:196 msgid "Error: Command Failed" msgstr "Errore: comando fallito" @@ -969,6 +1350,22 @@ msgstr "Compressione del database in corso" msgid "Verifying the object database with fsck-objects" msgstr "Verifica dell'archivio con fsck-objects in corso" +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" + +#: lib/date.tcl:25 +#, fuzzy, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Revisione non valida: %s" + #: lib/diff.tcl:42 #, tcl-format msgid "" @@ -992,19 +1389,37 @@ msgstr "" "Si procederà automaticamente ad una nuova analisi per trovare altri file che " "potrebbero avere lo stesso stato." -#: lib/diff.tcl:97 +#: lib/diff.tcl:81 +#, fuzzy, tcl-format +msgid "Loading diff of %s..." +msgstr "Caricamento %s..." + +#: lib/diff.tcl:114 lib/diff.tcl:184 +#, tcl-format +msgid "Unable to display %s" +msgstr "" + +#: lib/diff.tcl:115 msgid "Error loading file:" msgstr "Errore nel caricamento del file:" -#: lib/diff.tcl:162 +#: lib/diff.tcl:122 +msgid "Git Repository (subproject)" +msgstr "" + +#: lib/diff.tcl:134 +msgid "* Binary file (not showing content)." +msgstr "" + +#: lib/diff.tcl:185 msgid "Error loading diff:" msgstr "Errore nel caricamento delle differenze:" -#: lib/diff.tcl:278 +#: lib/diff.tcl:302 msgid "Failed to unstage selected hunk." msgstr "La sezione scelta è ancora pronta per il commit." -#: lib/diff.tcl:285 +#: lib/diff.tcl:309 msgid "Failed to stage selected hunk." msgstr "La sezione scelta non è ancora pronta per il commit." @@ -1020,21 +1435,32 @@ msgstr "avviso" msgid "You must correct the above errors before committing." msgstr "Bisogna correggere gli errori suddetti prima di effettuare un commit." -#: lib/index.tcl:364 +#: lib/index.tcl:241 +#, fuzzy, tcl-format +msgid "Unstaging %s from commit" +msgstr "Non pronto per il commit" + +#: lib/index.tcl:285 +#, fuzzy, tcl-format +msgid "Adding %s" +msgstr "Lettura di %s..." + +#: lib/index.tcl:340 #, tcl-format msgid "Revert changes in file %s?" msgstr "Annullare le modifiche nel file %s?" -#: lib/index.tcl:366 +#: lib/index.tcl:342 #, tcl-format msgid "Revert changes in these %i files?" msgstr "Annullare le modifiche in questi %i file?" -#: lib/index.tcl:372 +#: lib/index.tcl:348 msgid "Any unstaged changes will be permanently lost by the revert." -msgstr "Tutte le modifiche non preparate per il commit saranno perse per sempre." +msgstr "" +"Tutte le modifiche non preparate per il commit saranno perse per sempre." -#: lib/index.tcl:375 +#: lib/index.tcl:351 msgid "Do Nothing" msgstr "Non fare niente" @@ -1080,9 +1506,8 @@ msgstr "" "Il file %s ha dei conflitti.\n" "\n" "Bisogna risolvere i conflitti, preparare il file per il commit ed infine " -"effettuare un commit " -"per completare la fusione corrente. Solo a questo punto potrai iniziare " -"un'altra fusione.\n" +"effettuare un commit per completare la fusione corrente. Solo a questo punto " +"potrai iniziare un'altra fusione.\n" #: lib/merge.tcl:54 #, tcl-format @@ -1164,8 +1589,8 @@ msgid "" msgstr "" "Annullare le modifiche?\n" "\n" -"L'annullamento delle modifiche causerà la perdita di *TUTTE* le " -"modifiche non ancora presenti nei commit.\n" +"L'annullamento delle modifiche causerà la perdita di *TUTTE* le modifiche " +"non ancora presenti nei commit.\n" "\n" "Continuare con l'annullamento delle modifiche correnti?" @@ -1181,71 +1606,100 @@ msgstr "Interruzione fallita." msgid "Abort completed. Ready." msgstr "Interruzione completata. Pronto." -#: lib/option.tcl:77 -msgid "git-gui - a graphical user interface for Git." -msgstr "git-gui - un'interfaccia grafica per Git." - -#: lib/option.tcl:164 +#: lib/option.tcl:82 msgid "Restore Defaults" msgstr "Ripristina predefiniti" -#: lib/option.tcl:168 +#: lib/option.tcl:86 msgid "Save" msgstr "Salva" -#: lib/option.tcl:178 +#: lib/option.tcl:96 #, tcl-format msgid "%s Repository" msgstr "%s archivio" -#: lib/option.tcl:179 +#: lib/option.tcl:97 msgid "Global (All Repositories)" msgstr "Globale (Tutti i repository)" -#: lib/option.tcl:185 +#: lib/option.tcl:103 msgid "User Name" msgstr "Nome utente" -#: lib/option.tcl:186 +#: lib/option.tcl:104 msgid "Email Address" msgstr "Indirizzo Email" -#: lib/option.tcl:188 +#: lib/option.tcl:106 msgid "Summarize Merge Commits" msgstr "Riepilogo nei commit di fusione" -#: lib/option.tcl:189 +#: lib/option.tcl:107 msgid "Merge Verbosity" msgstr "Verbosità della fusione" -#: lib/option.tcl:190 +#: lib/option.tcl:108 msgid "Show Diffstat After Merge" msgstr "Mostra statistiche delle differenze dopo la fusione" -#: lib/option.tcl:192 +#: lib/option.tcl:110 msgid "Trust File Modification Timestamps" msgstr "Fidati delle date di modifica dei file" -#: lib/option.tcl:193 +#: lib/option.tcl:111 msgid "Prune Tracking Branches During Fetch" msgstr "Effettua potatura dei rami in 'tracking' durante il recupero" -#: lib/option.tcl:194 +#: lib/option.tcl:112 msgid "Match Tracking Branches" msgstr "Appaia rami in 'tracking'" -#: lib/option.tcl:195 +#: lib/option.tcl:113 msgid "Number of Diff Context Lines" msgstr "Numero di linee di contesto nelle differenze" -#: lib/option.tcl:196 +#: lib/option.tcl:114 msgid "New Branch Name Template" msgstr "Modello per il nome di un nuovo ramo" -#: lib/option.tcl:305 +#: lib/option.tcl:176 +#, fuzzy +msgid "Change Font" +msgstr "Caratteri principali" + +#: lib/option.tcl:180 +#, tcl-format +msgid "Choose %s" +msgstr "" + +#: lib/option.tcl:186 +msgid "pt." +msgstr "" + +#: lib/option.tcl:200 +msgid "Preferences" +msgstr "" + +#: lib/option.tcl:235 msgid "Failed to completely save options:" msgstr "Fallimento nel salvataggio completo delle opzioni:" +#: lib/remote.tcl:165 +#, fuzzy +msgid "Prune from" +msgstr "Effettua potatura da %s..." + +#: lib/remote.tcl:170 +#, fuzzy +msgid "Fetch from" +msgstr "Preleva da %s..." + +#: lib/remote.tcl:213 +#, fuzzy +msgid "Push to" +msgstr "Propaga (Push)" + #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 msgid "Delete Remote Branch" msgstr "Cancella ramo remoto" @@ -1254,11 +1708,11 @@ msgstr "Cancella ramo remoto" msgid "From Repository" msgstr "Da archivio" -#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 msgid "Remote:" msgstr "Remoto:" -#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 msgid "Arbitrary URL:" msgstr "URL arbitrario:" @@ -1282,6 +1736,14 @@ msgstr "Sempre (Non effettuare controlli durante la fusione)" msgid "A branch is required for 'Merged Into'." msgstr "Si richiede un ramo per 'Fuso in'." +#: lib/remote_branch_delete.tcl:184 +#, fuzzy, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "I rami seguenti non sono stati fusi completamente in %s:" + #: lib/remote_branch_delete.tcl:189 #, tcl-format msgid "" @@ -1319,21 +1781,6 @@ msgstr "Nessun archivio selezionato." msgid "Scanning %s..." msgstr "Analisi in corso %s..." -#: lib/remote.tcl:162 -#, tcl-format -msgid "Fetch from %s..." -msgstr "Preleva da %s..." - -#: lib/remote.tcl:172 -#, tcl-format -msgid "Prune from %s..." -msgstr "Effettua potatura da %s..." - -#: lib/remote.tcl:206 -#, tcl-format -msgid "Push to %s..." -msgstr "Propaga verso %s..." - #: lib/shortcut.tcl:26 lib/shortcut.tcl:74 msgid "Cannot write script:" msgstr "Impossibile scrivere script:" @@ -1342,52 +1789,79 @@ msgstr "Impossibile scrivere script:" msgid "Cannot write icon:" msgstr "Impossibile scrivere icona:" -#: lib/status_bar.tcl:58 +#: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" msgstr "%s ... %*i di %*i %s (%3i%%)" +#: lib/transport.tcl:6 +#, fuzzy, tcl-format +msgid "fetch %s" +msgstr "Preleva (Fetch)" + #: lib/transport.tcl:7 #, tcl-format msgid "Fetching new changes from %s" msgstr "Recupero nuove modifiche da %s" +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "" + #: lib/transport.tcl:19 #, tcl-format msgid "Pruning tracking branches deleted from %s" msgstr "Effettua potatura dei rami in 'tracking' cancellati da %s" +#: lib/transport.tcl:25 lib/transport.tcl:71 +#, tcl-format +msgid "push %s" +msgstr "" + #: lib/transport.tcl:26 #, tcl-format msgid "Pushing changes to %s" msgstr "Propagazione modifiche a %s" -#: lib/transport.tcl:68 +#: lib/transport.tcl:72 #, tcl-format msgid "Pushing %s %s to %s" msgstr "Propagazione %s %s a %s" -#: lib/transport.tcl:84 +#: lib/transport.tcl:89 msgid "Push Branches" msgstr "Propaga rami" -#: lib/transport.tcl:98 +#: lib/transport.tcl:103 msgid "Source Branches" msgstr "Rami di origine" -#: lib/transport.tcl:115 +#: lib/transport.tcl:120 msgid "Destination Repository" msgstr "Archivio di destinazione" -#: lib/transport.tcl:153 +#: lib/transport.tcl:158 msgid "Transfer Options" msgstr "Opzioni di trasferimento" -#: lib/transport.tcl:155 +#: lib/transport.tcl:160 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "" + +#: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" msgstr "Utilizza 'thin pack' (per connessioni lente)" -#: lib/transport.tcl:159 +#: lib/transport.tcl:168 msgid "Include tags" msgstr "Includi etichette" +#~ msgid "Cannot find the git directory:" +#~ msgstr "Non posso trovare la directory di git:" + +#~ msgid "Unstaged Changes (Will Not Be Committed)" +#~ msgstr "Modifiche non preparate (non ne verrà effettuato il commit)" + +#~ msgid "Push to %s..." +#~ msgstr "Propaga verso %s..." diff --git a/po/ja.po b/po/ja.po index cdbc981ca5..f65e460686 100644 --- a/po/ja.po +++ b/po/ja.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-08-11 17:28+0200\n" +"POT-Creation-Date: 2007-10-10 04:04-0400\n" "PO-Revision-Date: 2007-08-14 18:49+0900\n" "Last-Translator: しらいし ななこ \n" "Language-Team: Japanese\n" @@ -16,15 +16,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:531 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 +msgid "git-gui: fatal error" +msgstr "" + +#: git-gui.sh:595 +#, fuzzy, tcl-format +msgid "Invalid font specified in %s:" +msgstr "gui.%s に無効なフォントが指定されています:" + +#: git-gui.sh:620 +msgid "Main Font" +msgstr "主フォント" + +#: git-gui.sh:621 +msgid "Diff/Console Font" +msgstr "diff/コンソール・フォント" + +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "PATH 中に git が見つかりません" -#: git-gui.sh:550 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "Git バージョン名が理解できません:" -#: git-gui.sh:567 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -43,79 +61,80 @@ msgstr "" "\n" "'%s' はバージョン 1.5.0 と思って良いですか?\n" -#: git-gui.sh:689 -msgid "Cannot find the git directory:" -msgstr "git ディレクトリが見つかりません:" - -#: git-gui.sh:697 +#: git-gui.sh:853 msgid "Git directory not found:" msgstr "Git ディレクトリが見つかりません:" -#: git-gui.sh:703 +#: git-gui.sh:860 +#, fuzzy +msgid "Cannot move to top of working directory:" +msgstr "変な .git ディレクトリは使えません" + +#: git-gui.sh:867 msgid "Cannot use funny .git directory:" msgstr "変な .git ディレクトリは使えません" -#: git-gui.sh:708 +#: git-gui.sh:872 msgid "No working directory" msgstr "作業ディレクトリがありません" -#: git-gui.sh:854 +#: git-gui.sh:1019 msgid "Refreshing file status..." msgstr "ファイル状態を更新しています…" -#: git-gui.sh:891 +#: git-gui.sh:1084 msgid "Scanning for modified files ..." msgstr "変更されたファイルをスキャンしています…" -#: git-gui.sh:1057 lib/browser.tcl:247 +#: git-gui.sh:1259 lib/browser.tcl:245 msgid "Ready." msgstr "準備完了" -#: git-gui.sh:1322 +#: git-gui.sh:1525 msgid "Unmodified" msgstr "変更無し" -#: git-gui.sh:1324 +#: git-gui.sh:1527 msgid "Modified, not staged" msgstr "変更あり、コミット未予定" -#: git-gui.sh:1325 git-gui.sh:1330 +#: git-gui.sh:1528 git-gui.sh:1533 msgid "Staged for commit" msgstr "コミット予定済" -#: git-gui.sh:1326 git-gui.sh:1331 +#: git-gui.sh:1529 git-gui.sh:1534 msgid "Portions staged for commit" msgstr "部分的にコミット予定済" -#: git-gui.sh:1327 git-gui.sh:1332 +#: git-gui.sh:1530 git-gui.sh:1535 msgid "Staged for commit, missing" msgstr "コミット予定済、ファイル無し" -#: git-gui.sh:1329 +#: git-gui.sh:1532 msgid "Untracked, not staged" msgstr "管理外、コミット未予定" -#: git-gui.sh:1334 +#: git-gui.sh:1537 msgid "Missing" msgstr "ファイル無し" -#: git-gui.sh:1335 +#: git-gui.sh:1538 msgid "Staged for removal" msgstr "削除予定済" -#: git-gui.sh:1336 +#: git-gui.sh:1539 msgid "Staged for removal, still present" msgstr "削除予定済、ファイル未削除" -#: git-gui.sh:1338 git-gui.sh:1339 git-gui.sh:1340 git-gui.sh:1341 +#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544 msgid "Requires merge resolution" msgstr "要マージ解決" -#: git-gui.sh:1383 +#: git-gui.sh:1579 msgid "Starting gitk... please wait..." msgstr "gitk を起動中…お待ち下さい…" -#: git-gui.sh:1392 +#: git-gui.sh:1588 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -126,293 +145,332 @@ msgstr "" "\n" "%s がありません" -#: git-gui.sh:1609 -#, tcl-format -msgid "Invalid font specified in gui.%s:" -msgstr "gui.%s に無効なフォントが指定されています:" - -#: git-gui.sh:1634 -msgid "Main Font" -msgstr "主フォント" - -#: git-gui.sh:1635 -msgid "Diff/Console Font" -msgstr "diff/コンソール・フォント" - -#: git-gui.sh:1649 +#: git-gui.sh:1788 lib/choose_repository.tcl:32 msgid "Repository" msgstr "リポジトリ" -#: git-gui.sh:1650 +#: git-gui.sh:1789 msgid "Edit" msgstr "編集" -#: git-gui.sh:1652 +#: git-gui.sh:1791 lib/choose_rev.tcl:560 msgid "Branch" msgstr "ブランチ" -#: git-gui.sh:1655 git-gui.sh:1842 git-gui.sh:2152 -msgid "Commit" +#: git-gui.sh:1794 lib/choose_rev.tcl:547 +#, fuzzy +msgid "Commit@@noun" msgstr "コミット" -#: git-gui.sh:1658 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "マージ" -#: git-gui.sh:1659 -msgid "Fetch" -msgstr "フェッチ" +#: git-gui.sh:1798 lib/choose_rev.tcl:556 +#, fuzzy +msgid "Remote" +msgstr "リモート:" -#: git-gui.sh:1660 git-gui.sh:2158 lib/transport.tcl:88 lib/transport.tcl:172 -msgid "Push" -msgstr "プッシュ" - -#: git-gui.sh:1669 +#: git-gui.sh:1807 msgid "Browse Current Branch's Files" msgstr "現在のブランチのファイルを見る" -#: git-gui.sh:1673 +#: git-gui.sh:1811 msgid "Browse Branch Files..." msgstr "ブランチのファイルを見る…" -#: git-gui.sh:1678 +#: git-gui.sh:1816 msgid "Visualize Current Branch's History" msgstr "現在のブランチの履歴を見る" -#: git-gui.sh:1682 +#: git-gui.sh:1820 msgid "Visualize All Branch History" msgstr "全てのブランチの履歴を見る" -#: git-gui.sh:1689 +#: git-gui.sh:1827 #, tcl-format msgid "Browse %s's Files" msgstr "ブランチ %s のファイルを見る" -#: git-gui.sh:1691 +#: git-gui.sh:1829 #, tcl-format msgid "Visualize %s's History" msgstr "ブランチ %s の履歴を見る" -#: git-gui.sh:1696 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "データベース統計" -#: git-gui.sh:1699 lib/database.tcl:34 +#: git-gui.sh:1837 lib/database.tcl:34 msgid "Compress Database" msgstr "データベース圧縮" -#: git-gui.sh:1702 +#: git-gui.sh:1840 msgid "Verify Database" msgstr "データベース検証" -#: git-gui.sh:1709 git-gui.sh:1713 git-gui.sh:1717 lib/shortcut.tcl:9 +#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9 #: lib/shortcut.tcl:45 lib/shortcut.tcl:84 msgid "Create Desktop Icon" msgstr "デスクトップ・アイコンを作る" -#: git-gui.sh:1722 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95 msgid "Quit" msgstr "終了" -#: git-gui.sh:1729 +#: git-gui.sh:1867 msgid "Undo" msgstr "元に戻す" -#: git-gui.sh:1732 +#: git-gui.sh:1870 msgid "Redo" msgstr "やり直し" -#: git-gui.sh:1736 git-gui.sh:2222 +#: git-gui.sh:1874 git-gui.sh:2366 msgid "Cut" msgstr "切り取り" -#: git-gui.sh:1739 git-gui.sh:2225 git-gui.sh:2296 git-gui.sh:2368 -#: lib/console.tcl:69 +#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512 +#: lib/console.tcl:67 msgid "Copy" msgstr "コピー" -#: git-gui.sh:1742 git-gui.sh:2228 +#: git-gui.sh:1880 git-gui.sh:2372 msgid "Paste" msgstr "貼り付け" -#: git-gui.sh:1745 git-gui.sh:2231 lib/branch_delete.tcl:26 +#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "削除" -#: git-gui.sh:1749 git-gui.sh:2235 git-gui.sh:2372 lib/console.tcl:71 +#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69 msgid "Select All" msgstr "全て選択" -#: git-gui.sh:1758 +#: git-gui.sh:1896 msgid "Create..." msgstr "作成…" -#: git-gui.sh:1764 +#: git-gui.sh:1902 msgid "Checkout..." msgstr "チェックアウト" -#: git-gui.sh:1770 +#: git-gui.sh:1908 msgid "Rename..." msgstr "名前変更…" -#: git-gui.sh:1775 git-gui.sh:1873 +#: git-gui.sh:1913 git-gui.sh:2012 msgid "Delete..." msgstr "削除…" -#: git-gui.sh:1780 +#: git-gui.sh:1918 msgid "Reset..." msgstr "リセット…" -#: git-gui.sh:1792 git-gui.sh:2169 +#: git-gui.sh:1930 git-gui.sh:2313 msgid "New Commit" msgstr "新規コミット" -#: git-gui.sh:1800 git-gui.sh:2176 +#: git-gui.sh:1938 git-gui.sh:2320 msgid "Amend Last Commit" msgstr "最新コミットを訂正" -#: git-gui.sh:1809 git-gui.sh:2136 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "再スキャン" -#: git-gui.sh:1815 +#: git-gui.sh:1953 msgid "Stage To Commit" msgstr "コミット予定する" -#: git-gui.sh:1820 +#: git-gui.sh:1958 msgid "Stage Changed Files To Commit" msgstr "変更されたファイルをコミット予定" -#: git-gui.sh:1826 +#: git-gui.sh:1964 msgid "Unstage From Commit" msgstr "コミットから降ろす" -#: git-gui.sh:1831 lib/index.tcl:376 +#: git-gui.sh:1969 lib/index.tcl:352 msgid "Revert Changes" msgstr "変更を元に戻す" -#: git-gui.sh:1838 git-gui.sh:2148 git-gui.sh:2246 +#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390 msgid "Sign Off" msgstr "署名" -#: git-gui.sh:1853 +#: git-gui.sh:1980 git-gui.sh:2296 +#, fuzzy +msgid "Commit@@verb" +msgstr "コミット" + +#: git-gui.sh:1991 msgid "Local Merge..." msgstr "ローカル・マージ…" -#: git-gui.sh:1858 +#: git-gui.sh:1996 msgid "Abort Merge..." msgstr "マージ中止…" -#: git-gui.sh:1870 +#: git-gui.sh:2008 msgid "Push..." msgstr "プッシュ…" -#: git-gui.sh:1880 +#: git-gui.sh:2019 lib/choose_repository.tcl:41 msgid "Apple" msgstr "りんご" -#: git-gui.sh:1883 git-gui.sh:1901 lib/option.tcl:65 +#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "%s について" -#: git-gui.sh:1885 git-gui.sh:1891 git-gui.sh:2414 +#: git-gui.sh:2026 +msgid "Preferences..." +msgstr "" + +#: git-gui.sh:2034 git-gui.sh:2558 msgid "Options..." msgstr "オプション…" -#: git-gui.sh:1897 +#: git-gui.sh:2040 lib/choose_repository.tcl:47 msgid "Help" msgstr "ヘルプ" -#: git-gui.sh:1938 +#: git-gui.sh:2081 msgid "Online Documentation" msgstr "オンライン・ドキュメント" -#: git-gui.sh:2054 +#: git-gui.sh:2165 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" + +#: git-gui.sh:2198 msgid "Current Branch:" msgstr "現在のブランチ" -#: git-gui.sh:2075 -msgid "Staged Changes (Will Be Committed)" +#: git-gui.sh:2219 +#, fuzzy +msgid "Staged Changes (Will Commit)" msgstr "ステージングされた(コミット予定済の)変更" -#: git-gui.sh:2095 -msgid "Unstaged Changes (Will Not Be Committed)" -msgstr "ステージングされていない(コミット未予定の)変更" +#: git-gui.sh:2239 +#, fuzzy +msgid "Unstaged Changes" +msgstr "変更をコミット予定に入れる" -#: git-gui.sh:2142 +#: git-gui.sh:2286 msgid "Stage Changed" msgstr "変更をコミット予定に入れる" -#: git-gui.sh:2188 +#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182 +msgid "Push" +msgstr "プッシュ" + +#: git-gui.sh:2332 msgid "Initial Commit Message:" msgstr "最初のコミットメッセージ:" -#: git-gui.sh:2189 +#: git-gui.sh:2333 msgid "Amended Commit Message:" msgstr "訂正したコミットメッセージ:" -#: git-gui.sh:2190 +#: git-gui.sh:2334 msgid "Amended Initial Commit Message:" msgstr "訂正した最初のコミットメッセージ:" -#: git-gui.sh:2191 +#: git-gui.sh:2335 msgid "Amended Merge Commit Message:" msgstr "訂正したマージコミットメッセージ:" -#: git-gui.sh:2192 +#: git-gui.sh:2336 msgid "Merge Commit Message:" msgstr "マージコミットメッセージ:" -#: git-gui.sh:2193 +#: git-gui.sh:2337 msgid "Commit Message:" msgstr "コミットメッセージ:" -#: git-gui.sh:2238 git-gui.sh:2376 lib/console.tcl:73 +#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71 msgid "Copy All" msgstr "全てコピー" -#: git-gui.sh:2262 lib/blame.tcl:104 +#: git-gui.sh:2406 lib/blame.tcl:104 msgid "File:" msgstr "ファイル:" -#: git-gui.sh:2364 +#: git-gui.sh:2508 msgid "Refresh" msgstr "再読み込み" -#: git-gui.sh:2385 +#: git-gui.sh:2529 msgid "Apply/Reverse Hunk" msgstr "パッチを適用/取り消す" -#: git-gui.sh:2391 +#: git-gui.sh:2535 msgid "Decrease Font Size" msgstr "フォントを小さく" -#: git-gui.sh:2395 +#: git-gui.sh:2539 msgid "Increase Font Size" msgstr "フォントを大きく" -#: git-gui.sh:2400 +#: git-gui.sh:2544 msgid "Show Less Context" msgstr "文脈を少なく" -#: git-gui.sh:2407 +#: git-gui.sh:2551 msgid "Show More Context" msgstr "文脈を多く" -#: git-gui.sh:2422 +#: git-gui.sh:2565 msgid "Unstage Hunk From Commit" msgstr "パッチをコミット予定から外す" -#: git-gui.sh:2426 git-gui.sh:2430 +#: git-gui.sh:2567 msgid "Stage Hunk For Commit" msgstr "パッチをコミット予定に加える" -#: git-gui.sh:2440 +#: git-gui.sh:2586 msgid "Initializing..." msgstr "初期化しています…" +#: git-gui.sh:2677 +#, 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:2707 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" + +#: git-gui.sh:2712 +#, 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:25 +msgid "git-gui - a graphical user interface for Git." +msgstr "Git のグラフィカルUI git-gui" + #: lib/blame.tcl:77 msgid "File Viewer" msgstr "ファイルピューワ" @@ -430,6 +488,53 @@ msgstr "コミットをコピー" msgid "Reading %s..." msgstr "%s を読んでいます…" +#: lib/blame.tcl:473 +msgid "Loading copy/move tracking annotations..." +msgstr "" + +#: lib/blame.tcl:493 +msgid "lines annotated" +msgstr "" + +#: lib/blame.tcl:674 +msgid "Loading original location annotations..." +msgstr "" + +#: lib/blame.tcl:677 +msgid "Annotation complete." +msgstr "" + +#: lib/blame.tcl:731 +#, fuzzy +msgid "Loading annotation..." +msgstr "%s をロード中…" + +#: lib/blame.tcl:787 +msgid "Author:" +msgstr "" + +#: lib/blame.tcl:791 +#, fuzzy +msgid "Committer:" +msgstr "コミット:" + +#: lib/blame.tcl:796 +msgid "Original File:" +msgstr "" + +#: lib/blame.tcl:910 +msgid "Originally By:" +msgstr "" + +#: lib/blame.tcl:916 +#, fuzzy +msgid "In File:" +msgstr "ファイル:" + +#: lib/blame.tcl:921 +msgid "Copied Or Moved Here By:" +msgstr "" + #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" msgstr "ブランチをチェックアウト" @@ -439,18 +544,17 @@ msgid "Checkout" msgstr "チェックアウト" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:283 -#: lib/checkout_op.tcl:522 lib/merge.tcl:172 lib/option.tcl:172 -#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "中止" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:288 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 msgid "Revision" msgstr "リビジョン" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 -#: lib/option.tcl:274 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 msgid "Options" msgstr "オプション" @@ -470,7 +574,7 @@ msgstr "ブランチを作成" msgid "Create New Branch" msgstr "ブランチを新規作成" -#: lib/branch_create.tcl:31 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199 msgid "Create" msgstr "作成" @@ -610,20 +714,22 @@ msgstr "起動中…" msgid "File Browser" msgstr "ファイル・ブラウザ" -#: lib/browser.tcl:127 lib/browser.tcl:144 +#: lib/browser.tcl:125 lib/browser.tcl:142 #, tcl-format msgid "Loading %s..." msgstr "%s をロード中…" -#: lib/browser.tcl:188 +#: lib/browser.tcl:186 msgid "[Up To Parent]" msgstr "[上位フォルダへ]" -#: lib/browser.tcl:268 lib/browser.tcl:274 +#: lib/browser.tcl:266 lib/browser.tcl:272 msgid "Browse Branch Files" msgstr "現在のブランチのファイルを見る" -#: lib/browser.tcl:279 +#: lib/browser.tcl:277 lib/choose_repository.tcl:215 +#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315 +#: lib/choose_repository.tcl:811 msgid "Browse" msgstr "ブラウズ" @@ -632,7 +738,12 @@ msgstr "ブラウズ" msgid "Fetching %s from %s" msgstr "%s から %s をフェッチしています" -#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +#: lib/checkout_op.tcl:127 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "" + +#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" msgstr "閉じる" @@ -684,6 +795,11 @@ msgstr "" "\n" "自動的に再スキャンを開始します。\n" +#: lib/checkout_op.tcl:322 +#, fuzzy, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "作業ディレクトリがありません" + #: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." @@ -710,6 +826,11 @@ msgstr "" "ブランチ上に滞まりたいときは、この「分離されたチェックアウト」から新規ブラン" "チを開始してください。" +#: lib/checkout_op.tcl:446 +#, fuzzy, tcl-format +msgid "Checked out '%s'." +msgstr "チェックアウト" + #: lib/checkout_op.tcl:478 #, tcl-format msgid "Resetting '%s' to '%s' will lose the following commits:" @@ -744,6 +865,246 @@ msgstr "" "ましたが、 Git の内部データを更新できませんでした。\n" "起こるはずのないエラーです。あきらめて %s を終了します。" +#: lib/choose_font.tcl:39 +#, fuzzy +msgid "Select" +msgstr "全て選択" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "" + +#: lib/choose_font.tcl:73 +#, fuzzy +msgid "Font Size" +msgstr "フォントを小さく" + +#: lib/choose_font.tcl:90 +msgid "Font Example" +msgstr "" + +#: lib/choose_font.tcl:101 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" + +#: lib/choose_repository.tcl:25 +msgid "Git Gui" +msgstr "" + +#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 +#, fuzzy +msgid "Create New Repository" +msgstr "元のリポジトリ" + +#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 +#, fuzzy +msgid "Clone Existing Repository" +msgstr "送り先リポジトリ" + +#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 +#, fuzzy +msgid "Open Existing Repository" +msgstr "送り先リポジトリ" + +#: lib/choose_repository.tcl:91 +msgid "Next >" +msgstr "" + +#: lib/choose_repository.tcl:152 +#, fuzzy, tcl-format +msgid "Location %s already exists." +msgstr "'%s'というブランチは既に存在します。" + +#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 +#: lib/choose_repository.tcl:172 +#, fuzzy, tcl-format +msgid "Failed to create repository %s:" +msgstr "完全にオプションを保存できません:" + +#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 +msgid "Directory:" +msgstr "" + +#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 +#: lib/choose_repository.tcl:834 +#, fuzzy +msgid "Git Repository" +msgstr "リポジトリ" + +#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260 +#, fuzzy, tcl-format +msgid "Directory %s already exists." +msgstr "'%s'というブランチは既に存在します。" + +#: lib/choose_repository.tcl:265 +#, fuzzy, tcl-format +msgid "File %s already exists." +msgstr "'%s'というブランチは既に存在します。" + +#: lib/choose_repository.tcl:286 +#, fuzzy +msgid "Clone" +msgstr "閉じる" + +#: lib/choose_repository.tcl:299 +msgid "URL:" +msgstr "" + +#: lib/choose_repository.tcl:319 +msgid "Clone Type:" +msgstr "" + +#: lib/choose_repository.tcl:325 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "" + +#: lib/choose_repository.tcl:331 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "" + +#: lib/choose_repository.tcl:337 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "" + +#: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418 +#: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:840 lib/choose_repository.tcl:848 +#, fuzzy, tcl-format +msgid "Not a Git repository: %s" +msgstr "リポジトリが選択されていません。" + +#: lib/choose_repository.tcl:405 +msgid "Standard only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:409 +msgid "Shared only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:439 +msgid "Failed to configure origin" +msgstr "" + +#: lib/choose_repository.tcl:451 +msgid "Counting objects" +msgstr "" + +#: lib/choose_repository.tcl:452 +msgid "buckets" +msgstr "" + +#: lib/choose_repository.tcl:476 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "" + +#: lib/choose_repository.tcl:512 +#, fuzzy, tcl-format +msgid "Nothing to clone from %s." +msgstr "%s から新しい変更をフェッチしています" + +#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728 +#: lib/choose_repository.tcl:740 +msgid "The 'master' branch has not been initialized." +msgstr "" + +#: lib/choose_repository.tcl:527 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "" + +#: lib/choose_repository.tcl:539 +#, fuzzy, tcl-format +msgid "Cloning from %s" +msgstr "%s から %s をフェッチしています" + +#: lib/choose_repository.tcl:570 +#, fuzzy +msgid "Copying objects" +msgstr "データベース圧縮" + +#: lib/choose_repository.tcl:571 +msgid "KiB" +msgstr "" + +#: lib/choose_repository.tcl:595 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "" + +#: lib/choose_repository.tcl:605 +msgid "Linking objects" +msgstr "" + +#: lib/choose_repository.tcl:606 +msgid "objects" +msgstr "" + +#: lib/choose_repository.tcl:614 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "" + +#: lib/choose_repository.tcl:669 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:680 +msgid "Cannot fetch tags. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:704 +msgid "Cannot determine HEAD. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:713 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "" + +#: lib/choose_repository.tcl:719 +#, fuzzy +msgid "Clone failed." +msgstr "中断に失敗しました。" + +#: lib/choose_repository.tcl:726 +msgid "No default branch obtained." +msgstr "" + +#: lib/choose_repository.tcl:737 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "" + +#: lib/choose_repository.tcl:749 +#, fuzzy +msgid "Creating working directory" +msgstr "作業ディレクトリがありません" + +#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 +#: lib/index.tcl:149 +msgid "files" +msgstr "" + +#: lib/choose_repository.tcl:779 +msgid "Initial file checkout failed." +msgstr "" + +#: lib/choose_repository.tcl:795 +msgid "Open" +msgstr "" + +#: lib/choose_repository.tcl:805 +#, fuzzy +msgid "Repository:" +msgstr "リポジトリ" + +#: lib/choose_repository.tcl:854 +#, fuzzy, tcl-format +msgid "Failed to open repository %s:" +msgstr "完全にオプションを保存できません:" + #: lib/choose_rev.tcl:53 msgid "This Detached Checkout" msgstr "分離されたチェックアウト" @@ -760,7 +1121,7 @@ msgstr "ローカル・ブランチ" msgid "Tracking Branch" msgstr "トラッキング・ブランチ" -#: lib/choose_rev.tcl:84 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 msgid "Tag" msgstr "タグ" @@ -777,6 +1138,14 @@ msgstr "リビジョンが未選択です。" msgid "Revision expression is empty." msgstr "リビジョン式が空です。" +#: lib/choose_rev.tcl:530 +msgid "Updated" +msgstr "" + +#: lib/choose_rev.tcl:558 +msgid "URL" +msgstr "" + #: lib/commit.tcl:9 msgid "" "There is nothing to amend.\n" @@ -886,6 +1255,11 @@ msgstr "" msgid "write-tree failed:" msgstr "write-tree が失敗しました:" +#: lib/commit.tcl:275 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "" + #: lib/commit.tcl:279 msgid "" "No changes to commit.\n" @@ -904,6 +1278,11 @@ msgstr "" msgid "No changes to commit." msgstr "コミットする変更がありません。" +#: lib/commit.tcl:303 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "" + #: lib/commit.tcl:317 msgid "commit-tree failed:" msgstr "commit-tree が失敗しました:" @@ -917,15 +1296,15 @@ msgstr "update-ref が失敗しました:" msgid "Created commit %s: %s" msgstr "コミット %s を作成しました: %s" -#: lib/console.tcl:55 +#: lib/console.tcl:57 msgid "Working... please wait..." msgstr "実行中…お待ち下さい…" -#: lib/console.tcl:184 +#: lib/console.tcl:183 msgid "Success" msgstr "成功" -#: lib/console.tcl:194 +#: lib/console.tcl:196 msgid "Error: Command Failed" msgstr "エラー: コマンドが失敗しました" @@ -965,6 +1344,22 @@ msgstr "データベース圧縮" msgid "Verifying the object database with fsck-objects" msgstr "fsck-objects でオブジェクト・データベースを検証しています" +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" + +#: lib/date.tcl:25 +#, fuzzy, tcl-format +msgid "Invalid date from Git: %s" +msgstr "無効なリビジョン: %s" + #: lib/diff.tcl:42 #, tcl-format msgid "" @@ -987,19 +1382,37 @@ msgstr "" "\n" "同様な状態のファイルを探すために、自動的に再スキャンを開始します。" -#: lib/diff.tcl:97 +#: lib/diff.tcl:81 +#, fuzzy, tcl-format +msgid "Loading diff of %s..." +msgstr "%s をロード中…" + +#: lib/diff.tcl:114 lib/diff.tcl:184 +#, tcl-format +msgid "Unable to display %s" +msgstr "" + +#: lib/diff.tcl:115 msgid "Error loading file:" msgstr "ファイルを読む際のエラーです:" -#: lib/diff.tcl:162 +#: lib/diff.tcl:122 +msgid "Git Repository (subproject)" +msgstr "" + +#: lib/diff.tcl:134 +msgid "* Binary file (not showing content)." +msgstr "" + +#: lib/diff.tcl:185 msgid "Error loading diff:" msgstr "diff を読む際のエラーです:" -#: lib/diff.tcl:278 +#: lib/diff.tcl:302 msgid "Failed to unstage selected hunk." msgstr "選択されたパッチをコミット予定から外せません。" -#: lib/diff.tcl:285 +#: lib/diff.tcl:309 msgid "Failed to stage selected hunk." msgstr "選択されたパッチをコミット予定に加えられません。" @@ -1015,21 +1428,31 @@ msgstr "警告" msgid "You must correct the above errors before committing." msgstr "コミットする前に、以上のエラーを修正して下さい" -#: lib/index.tcl:364 +#: lib/index.tcl:241 +#, fuzzy, tcl-format +msgid "Unstaging %s from commit" +msgstr "コミットから降ろす" + +#: lib/index.tcl:285 +#, fuzzy, tcl-format +msgid "Adding %s" +msgstr "%s を読んでいます…" + +#: lib/index.tcl:340 #, tcl-format msgid "Revert changes in file %s?" msgstr "ファイル %s にした変更を元に戻しますか?" -#: lib/index.tcl:366 +#: lib/index.tcl:342 #, tcl-format msgid "Revert changes in these %i files?" msgstr "これら %i 個のファイルにした変更を元に戻しますか?" -#: lib/index.tcl:372 +#: lib/index.tcl:348 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "変更を元に戻すとコミット予定していない変更は全て失われます。" -#: lib/index.tcl:375 +#: lib/index.tcl:351 msgid "Do Nothing" msgstr "何もしない" @@ -1170,71 +1593,100 @@ msgstr "中断に失敗しました。" msgid "Abort completed. Ready." msgstr "中断完了。" -#: lib/option.tcl:77 -msgid "git-gui - a graphical user interface for Git." -msgstr "Git のグラフィカルUI git-gui" - -#: lib/option.tcl:164 +#: lib/option.tcl:82 msgid "Restore Defaults" msgstr "既定値に戻す" -#: lib/option.tcl:168 +#: lib/option.tcl:86 msgid "Save" msgstr "保存" -#: lib/option.tcl:178 +#: lib/option.tcl:96 #, tcl-format msgid "%s Repository" msgstr "%s リポジトリ" -#: lib/option.tcl:179 +#: lib/option.tcl:97 msgid "Global (All Repositories)" msgstr "大域(全てのリポジトリ)" -#: lib/option.tcl:185 +#: lib/option.tcl:103 msgid "User Name" msgstr "ユーザ名" -#: lib/option.tcl:186 +#: lib/option.tcl:104 msgid "Email Address" msgstr "電子メールアドレス" -#: lib/option.tcl:188 +#: lib/option.tcl:106 msgid "Summarize Merge Commits" msgstr "マージコミットの要約" -#: lib/option.tcl:189 +#: lib/option.tcl:107 msgid "Merge Verbosity" msgstr "マージの冗長度" -#: lib/option.tcl:190 +#: lib/option.tcl:108 msgid "Show Diffstat After Merge" msgstr "マージ後に diffstat を表示" -#: lib/option.tcl:192 +#: lib/option.tcl:110 msgid "Trust File Modification Timestamps" msgstr "ファイル変更時刻を信頼する" -#: lib/option.tcl:193 +#: lib/option.tcl:111 msgid "Prune Tracking Branches During Fetch" msgstr "フェッチ中にトラッキングブランチを刈る" -#: lib/option.tcl:194 +#: lib/option.tcl:112 msgid "Match Tracking Branches" msgstr "トラッキングブランチを合わせる" -#: lib/option.tcl:195 +#: lib/option.tcl:113 msgid "Number of Diff Context Lines" msgstr "diff の文脈行数" -#: lib/option.tcl:196 +#: lib/option.tcl:114 msgid "New Branch Name Template" msgstr "新しいブランチ名のテンプレート" -#: lib/option.tcl:305 +#: lib/option.tcl:176 +#, fuzzy +msgid "Change Font" +msgstr "主フォント" + +#: lib/option.tcl:180 +#, tcl-format +msgid "Choose %s" +msgstr "" + +#: lib/option.tcl:186 +msgid "pt." +msgstr "" + +#: lib/option.tcl:200 +msgid "Preferences" +msgstr "" + +#: lib/option.tcl:235 msgid "Failed to completely save options:" msgstr "完全にオプションを保存できません:" +#: lib/remote.tcl:165 +#, fuzzy +msgid "Prune from" +msgstr "%s から刈る…" + +#: lib/remote.tcl:170 +#, fuzzy +msgid "Fetch from" +msgstr "%s からフェッチ…" + +#: lib/remote.tcl:213 +#, fuzzy +msgid "Push to" +msgstr "プッシュ" + #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 msgid "Delete Remote Branch" msgstr "リモート・ブランチを削除" @@ -1243,11 +1695,11 @@ msgstr "リモート・ブランチを削除" msgid "From Repository" msgstr "元のリポジトリ" -#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 msgid "Remote:" msgstr "リモート:" -#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 msgid "Arbitrary URL:" msgstr "任意の URL:" @@ -1271,6 +1723,14 @@ msgstr "無条件(マージ検査をしない)" msgid "A branch is required for 'Merged Into'." msgstr "'マージ先' にはブランチが必要です。" +#: lib/remote_branch_delete.tcl:184 +#, fuzzy, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "以下のブランチは %s に完全にマージされていません:" + #: lib/remote_branch_delete.tcl:189 #, tcl-format msgid "" @@ -1308,21 +1768,6 @@ msgstr "リポジトリが選択されていません。" msgid "Scanning %s..." msgstr "%s をスキャンしています…" -#: lib/remote.tcl:162 -#, tcl-format -msgid "Fetch from %s..." -msgstr "%s からフェッチ…" - -#: lib/remote.tcl:172 -#, tcl-format -msgid "Prune from %s..." -msgstr "%s から刈る…" - -#: lib/remote.tcl:206 -#, tcl-format -msgid "Push to %s..." -msgstr "%s へプッシュ…" - #: lib/shortcut.tcl:26 lib/shortcut.tcl:74 msgid "Cannot write script:" msgstr "スクリプトが書けません:" @@ -1331,51 +1776,79 @@ msgstr "スクリプトが書けません:" msgid "Cannot write icon:" msgstr "アイコンが書けません:" -#: lib/status_bar.tcl:58 +#: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" msgstr "%1$s ... %3$*i %4$s 中の %$2*i (%5$3i%%)" +#: lib/transport.tcl:6 +#, fuzzy, tcl-format +msgid "fetch %s" +msgstr "フェッチ" + #: lib/transport.tcl:7 #, tcl-format msgid "Fetching new changes from %s" msgstr "%s から新しい変更をフェッチしています" +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "" + #: lib/transport.tcl:19 #, tcl-format msgid "Pruning tracking branches deleted from %s" msgstr "%s から削除されたトラッキング・ブランチを刈っています" +#: lib/transport.tcl:25 lib/transport.tcl:71 +#, tcl-format +msgid "push %s" +msgstr "" + #: lib/transport.tcl:26 #, tcl-format msgid "Pushing changes to %s" msgstr "%s へ変更をプッシュしています" -#: lib/transport.tcl:68 +#: lib/transport.tcl:72 #, tcl-format msgid "Pushing %s %s to %s" msgstr "%3$s へ %1$s %2$s をプッシュしています" -#: lib/transport.tcl:84 +#: lib/transport.tcl:89 msgid "Push Branches" msgstr "ブランチをプッシュ" -#: lib/transport.tcl:98 +#: lib/transport.tcl:103 msgid "Source Branches" msgstr "元のブランチ" -#: lib/transport.tcl:115 +#: lib/transport.tcl:120 msgid "Destination Repository" msgstr "送り先リポジトリ" -#: lib/transport.tcl:153 +#: lib/transport.tcl:158 msgid "Transfer Options" msgstr "通信オプション" -#: lib/transport.tcl:155 +#: lib/transport.tcl:160 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "" + +#: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" msgstr "Thin Pack を使う(遅いネットワーク接続)" -#: lib/transport.tcl:159 +#: lib/transport.tcl:168 msgid "Include tags" msgstr "タグを含める" + +#~ msgid "Cannot find the git directory:" +#~ msgstr "git ディレクトリが見つかりません:" + +#~ msgid "Unstaged Changes (Will Not Be Committed)" +#~ msgstr "ステージングされていない(コミット未予定の)変更" + +#~ msgid "Push to %s..." +#~ msgstr "%s へプッシュ…" diff --git a/po/ru.po b/po/ru.po index 20080338c8..3beaf9d52e 100644 --- a/po/ru.po +++ b/po/ru.po @@ -7,7 +7,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-07-27 19:33+0200\n" +"POT-Creation-Date: 2007-10-10 04:04-0400\n" "PO-Revision-Date: 2007-07-28 18:30+0200\n" "Last-Translator: Irina Riesen \n" "Language-Team: Russian Translation \n" @@ -15,16 +15,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:531 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 +msgid "git-gui: fatal error" +msgstr "" + +#: git-gui.sh:595 +#, fuzzy, tcl-format +msgid "Invalid font specified in %s:" +msgstr "В оболочке установлен неверный шрифт.%s:" + +#: git-gui.sh:620 +msgid "Main Font" +msgstr "Шрифт интерфейса" + +#: git-gui.sh:621 +msgid "Diff/Console Font" +msgstr "Шрифт в консоли diff" + +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "git не найден в PATH." -#: git-gui.sh:550 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" -msgstr "" -"Невозможно распознать строку версии Git: " +msgstr "Невозможно распознать строку версии Git: " -#: git-gui.sh:567 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -36,85 +53,81 @@ msgid "" "Assume '%s' is version 1.5.0?\n" msgstr "" -#: git-gui.sh:689 -msgid "Cannot find the git directory:" -msgstr "Каталог Git не найден:" - -#: git-gui.sh:697 +#: git-gui.sh:853 msgid "Git directory not found:" msgstr "Каталог Git не найден:" -#: git-gui.sh:703 +#: git-gui.sh:860 +#, fuzzy +msgid "Cannot move to top of working directory:" +msgstr "Каталог.git испорчен: " + +#: git-gui.sh:867 msgid "Cannot use funny .git directory:" msgstr "Каталог.git испорчен: " -#: git-gui.sh:708 +#: git-gui.sh:872 msgid "No working directory" msgstr "Отсутствует рабочий каталог" -#: git-gui.sh:853 +#: git-gui.sh:1019 msgid "Refreshing file status..." msgstr "Обновление состояния файлов проекта..." -#: git-gui.sh:886 +#: git-gui.sh:1084 msgid "Scanning for modified files ..." msgstr "Поиск измененных файлов..." -#: git-gui.sh:1052 lib/browser.tcl:233 +#: git-gui.sh:1259 lib/browser.tcl:245 msgid "Ready." msgstr "Готово." -#: git-gui.sh:1343 +#: git-gui.sh:1525 msgid "Unmodified" msgstr "Не изменено" -#: git-gui.sh:1345 +#: git-gui.sh:1527 msgid "Modified, not staged" msgstr "Изменено, но не включено" -#: git-gui.sh:1346 git-gui.sh:1351 +#: git-gui.sh:1528 git-gui.sh:1533 msgid "Staged for commit" msgstr "Подготовлено для сохранения" -#: git-gui.sh:1347 git-gui.sh:1352 +#: git-gui.sh:1529 git-gui.sh:1534 msgid "Portions staged for commit" msgstr "Части, подготовленные для сохранения" -#: git-gui.sh:1348 git-gui.sh:1353 +#: git-gui.sh:1530 git-gui.sh:1535 #, fuzzy msgid "Staged for commit, missing" -msgstr "" -"Подготовлено для сохранения, отсутствует" +msgstr "Подготовлено для сохранения, отсутствует" -#: git-gui.sh:1350 +#: git-gui.sh:1532 msgid "Untracked, not staged" msgstr "Не отслеживается, не подготовлено" -#: git-gui.sh:1355 +#: git-gui.sh:1537 msgid "Missing" msgstr "Отсутствует" -#: git-gui.sh:1356 +#: git-gui.sh:1538 msgid "Staged for removal" msgstr "Подготовлено для удаления" -#: git-gui.sh:1357 +#: git-gui.sh:1539 msgid "Staged for removal, still present" -msgstr "" -"Подготовлено для удаления, но еще не " -"удалено" +msgstr "Подготовлено для удаления, но еще не удалено" -#: git-gui.sh:1359 git-gui.sh:1360 git-gui.sh:1361 git-gui.sh:1362 +#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544 msgid "Requires merge resolution" -msgstr "" -"Требуется разрешение конфликта при " -"объединении" +msgstr "Требуется разрешение конфликта при объединении" -#: git-gui.sh:1404 +#: git-gui.sh:1579 msgid "Starting gitk... please wait..." msgstr "Запускается gitk... пожалуйста, ждите..." -#: git-gui.sh:1413 +#: git-gui.sh:1588 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -125,308 +138,338 @@ msgstr "" "\n" "%s не существует" -#: git-gui.sh:1630 -#, tcl-format -msgid "Invalid font specified in gui.%s:" -msgstr "" -"В оболочке установлен неверный шрифт.%s:" - -#: git-gui.sh:1655 -msgid "Main Font" -msgstr "Шрифт интерфейса" - -#: git-gui.sh:1656 -msgid "Diff/Console Font" -msgstr "Шрифт в консоли diff" - -#: git-gui.sh:1670 +#: git-gui.sh:1788 lib/choose_repository.tcl:32 msgid "Repository" msgstr "Репозиторий" -#: git-gui.sh:1671 +#: git-gui.sh:1789 msgid "Edit" msgstr "Редактировать" -#: git-gui.sh:1673 +#: git-gui.sh:1791 lib/choose_rev.tcl:560 msgid "Branch" msgstr "Ветвь" -#: git-gui.sh:1676 git-gui.sh:1854 git-gui.sh:2193 -msgid "Commit" +#: git-gui.sh:1794 lib/choose_rev.tcl:547 +#, fuzzy +msgid "Commit@@noun" msgstr "Сохранить" -#: git-gui.sh:1679 lib/merge.tcl:96 lib/merge.tcl:157 lib/merge.tcl:173 +#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "Объединить" -#: git-gui.sh:1680 -msgid "Fetch" -msgstr "Получить" +#: git-gui.sh:1798 lib/choose_rev.tcl:556 +#, fuzzy +msgid "Remote" +msgstr "внешний:" -#: git-gui.sh:1681 git-gui.sh:2199 lib/transport.tcl:88 lib/transport.tcl:172 -msgid "Push" -msgstr "Отправить" - -#: git-gui.sh:1690 +#: git-gui.sh:1807 msgid "Browse Current Branch's Files" msgstr "Просмотреть файлы текущей ветви" -#: git-gui.sh:1692 -#, fuzzy, tcl-format -msgid "Browse %s's Files" -msgstr "Показать файлы ветви" - -#: git-gui.sh:1694 +#: git-gui.sh:1811 #, fuzzy msgid "Browse Branch Files..." msgstr "Показать файлы ветви" -#: git-gui.sh:1699 +#: git-gui.sh:1816 msgid "Visualize Current Branch's History" msgstr "История текущей ветви наглядно" -#: git-gui.sh:1701 +#: git-gui.sh:1820 +msgid "Visualize All Branch History" +msgstr "История всех ветвей наглядно" + +#: git-gui.sh:1827 +#, fuzzy, tcl-format +msgid "Browse %s's Files" +msgstr "Показать файлы ветви" + +#: git-gui.sh:1829 #, fuzzy, tcl-format msgid "Visualize %s's History" msgstr "История всех ветвей наглядно" -#: git-gui.sh:1703 -msgid "Visualize All Branch History" -msgstr "История всех ветвей наглядно" - -#: git-gui.sh:1708 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Статистика базы данных" -#: git-gui.sh:1711 lib/database.tcl:34 +#: git-gui.sh:1837 lib/database.tcl:34 msgid "Compress Database" msgstr "Сжать базу данных" -#: git-gui.sh:1714 +#: git-gui.sh:1840 msgid "Verify Database" msgstr "Проверить базу данных" -#: git-gui.sh:1721 git-gui.sh:1725 git-gui.sh:1729 lib/shortcut.tcl:9 +#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9 #: lib/shortcut.tcl:45 lib/shortcut.tcl:84 msgid "Create Desktop Icon" msgstr "Создать ярлык на рабочем столе" -#: git-gui.sh:1734 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95 msgid "Quit" msgstr "Выход" -#: git-gui.sh:1741 +#: git-gui.sh:1867 msgid "Undo" msgstr "Отменить" -#: git-gui.sh:1744 +#: git-gui.sh:1870 msgid "Redo" msgstr "Повторить" -#: git-gui.sh:1748 git-gui.sh:2263 +#: git-gui.sh:1874 git-gui.sh:2366 msgid "Cut" msgstr "Вырезать" -#: git-gui.sh:1751 git-gui.sh:2266 git-gui.sh:2337 git-gui.sh:2409 -#: lib/console.tcl:69 +#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512 +#: lib/console.tcl:67 msgid "Copy" msgstr "Копировать" -#: git-gui.sh:1754 git-gui.sh:2269 +#: git-gui.sh:1880 git-gui.sh:2372 msgid "Paste" msgstr "Вставить" -#: git-gui.sh:1757 git-gui.sh:2272 lib/branch_delete.tcl:26 +#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Удалить" -#: git-gui.sh:1761 git-gui.sh:2276 git-gui.sh:2413 lib/console.tcl:71 +#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69 msgid "Select All" msgstr "Выделить все" -#: git-gui.sh:1770 +#: git-gui.sh:1896 msgid "Create..." msgstr "Создать..." -#: git-gui.sh:1776 +#: git-gui.sh:1902 msgid "Checkout..." msgstr "Перейти..." -#: git-gui.sh:1782 +#: git-gui.sh:1908 msgid "Rename..." msgstr "Переименовать..." -#: git-gui.sh:1787 git-gui.sh:1885 +#: git-gui.sh:1913 git-gui.sh:2012 msgid "Delete..." msgstr "Удалить..." -#: git-gui.sh:1792 +#: git-gui.sh:1918 msgid "Reset..." msgstr "Сбросить..." -#: git-gui.sh:1804 git-gui.sh:2210 +#: git-gui.sh:1930 git-gui.sh:2313 msgid "New Commit" msgstr "Новое состояние" -#: git-gui.sh:1812 git-gui.sh:2217 +#: git-gui.sh:1938 git-gui.sh:2320 msgid "Amend Last Commit" msgstr "Исправить последнее состояние" -#: git-gui.sh:1821 git-gui.sh:2177 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Перечитать" -#: git-gui.sh:1827 -msgid "Add To Commit" -msgstr "Подготовить к сохранению" +#: git-gui.sh:1953 +#, fuzzy +msgid "Stage To Commit" +msgstr "Подготовлено для сохранения" -#: git-gui.sh:1832 -msgid "Add Existing To Commit" -msgstr "" -"Подготовить имеющиеся файлы к сохранению" +#: git-gui.sh:1958 +#, fuzzy +msgid "Stage Changed Files To Commit" +msgstr "Подготовлено (будет сохранено)" -#: git-gui.sh:1838 +#: git-gui.sh:1964 msgid "Unstage From Commit" msgstr "Убрать из подготовленного" -#: git-gui.sh:1843 lib/index.tcl:376 +#: git-gui.sh:1969 lib/index.tcl:352 msgid "Revert Changes" msgstr "Отменить изменения" -#: git-gui.sh:1850 git-gui.sh:2189 git-gui.sh:2287 +#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390 msgid "Sign Off" msgstr "Подписать" -#: git-gui.sh:1865 +#: git-gui.sh:1980 git-gui.sh:2296 +#, fuzzy +msgid "Commit@@verb" +msgstr "Сохранить" + +#: git-gui.sh:1991 msgid "Local Merge..." msgstr "Локальное объединение..." -#: git-gui.sh:1870 +#: git-gui.sh:1996 msgid "Abort Merge..." msgstr "Прервать объединение..." -#: git-gui.sh:1882 +#: git-gui.sh:2008 msgid "Push..." msgstr "Отправить..." -#: git-gui.sh:1892 +#: git-gui.sh:2019 lib/choose_repository.tcl:41 msgid "Apple" msgstr "" -#: git-gui.sh:1895 git-gui.sh:1942 lib/option.tcl:65 +#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "О %s" -#: git-gui.sh:1897 git-gui.sh:1903 git-gui.sh:2455 +#: git-gui.sh:2026 +msgid "Preferences..." +msgstr "" + +#: git-gui.sh:2034 git-gui.sh:2558 msgid "Options..." msgstr "Настройки..." -#: git-gui.sh:1917 -msgid "Running miga..." -msgstr "" - -#: git-gui.sh:1938 +#: git-gui.sh:2040 lib/choose_repository.tcl:47 msgid "Help" msgstr "Помощь" -#: git-gui.sh:1979 +#: git-gui.sh:2081 msgid "Online Documentation" msgstr "Документация в интернете" -#: git-gui.sh:2095 +#: git-gui.sh:2165 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" + +#: git-gui.sh:2198 msgid "Current Branch:" msgstr "Текущая ветвь:" -#: git-gui.sh:2116 -msgid "Staged Changes (Will Be Committed)" +#: git-gui.sh:2219 +#, fuzzy +msgid "Staged Changes (Will Commit)" msgstr "Подготовлено (будет сохранено)" -#: git-gui.sh:2136 -msgid "Unstaged Changes (Will Not Be Committed)" -msgstr "Изменено (не будет сохранено)" +#: git-gui.sh:2239 +msgid "Unstaged Changes" +msgstr "" -#: git-gui.sh:2183 -msgid "Add Existing" -msgstr "Добавить имеющиеся файлы" +#: git-gui.sh:2286 +msgid "Stage Changed" +msgstr "" -#: git-gui.sh:2229 +#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182 +msgid "Push" +msgstr "Отправить" + +#: git-gui.sh:2332 #, fuzzy msgid "Initial Commit Message:" -msgstr "" -"Первоначальный комментарий к состоянию:" +msgstr "Первоначальный комментарий к состоянию:" -#: git-gui.sh:2230 +#: git-gui.sh:2333 #, fuzzy msgid "Amended Commit Message:" msgstr "Исправленный комментарий к состоянию:" -#: git-gui.sh:2231 +#: git-gui.sh:2334 #, fuzzy msgid "Amended Initial Commit Message:" -msgstr "" -"Первоначальный комментарий к " -"исправленному состоянию:" +msgstr "Первоначальный комментарий к исправленному состоянию:" -#: git-gui.sh:2232 +#: git-gui.sh:2335 #, fuzzy msgid "Amended Merge Commit Message:" -msgstr "" -"Комментарий к исправленному объединению:" +msgstr "Комментарий к исправленному объединению:" -#: git-gui.sh:2233 +#: git-gui.sh:2336 msgid "Merge Commit Message:" msgstr "Комментарий к объединению:" -#: git-gui.sh:2234 +#: git-gui.sh:2337 msgid "Commit Message:" msgstr "Комментарий к состоянию:" -#: git-gui.sh:2279 git-gui.sh:2417 lib/console.tcl:73 +#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71 msgid "Copy All" msgstr "Копировать все" -#: git-gui.sh:2303 lib/blame.tcl:104 +#: git-gui.sh:2406 lib/blame.tcl:104 msgid "File:" msgstr "Файл:" -#: git-gui.sh:2405 +#: git-gui.sh:2508 msgid "Refresh" msgstr "Обновить" -#: git-gui.sh:2426 +#: git-gui.sh:2529 msgid "Apply/Reverse Hunk" msgstr "Применить/Убрать изменение" -#: git-gui.sh:2432 +#: git-gui.sh:2535 msgid "Decrease Font Size" msgstr "Уменьшить размер шрифта" -#: git-gui.sh:2436 +#: git-gui.sh:2539 msgid "Increase Font Size" msgstr "Увеличить размер шрифта" -#: git-gui.sh:2441 +#: git-gui.sh:2544 msgid "Show Less Context" msgstr "Меньше контекста" -#: git-gui.sh:2448 +#: git-gui.sh:2551 msgid "Show More Context" msgstr "Больше контекста" -#: git-gui.sh:2461 +#: git-gui.sh:2565 msgid "Unstage Hunk From Commit" msgstr "Не сохранять часть" -#: git-gui.sh:2463 +#: git-gui.sh:2567 msgid "Stage Hunk For Commit" msgstr "Подготовить часть для сохранения" -#: git-gui.sh:2473 +#: git-gui.sh:2586 msgid "Initializing..." msgstr "Инициализация..." +#: git-gui.sh:2677 +#, 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:2707 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" + +#: git-gui.sh:2712 +#, 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:25 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - графический пользовательский интерфейс к Git." + #: lib/blame.tcl:77 msgid "File Viewer" msgstr "Просмотр файла" @@ -444,6 +487,53 @@ msgstr "Копировать сохраненное состояние" msgid "Reading %s..." msgstr "Чтение %s..." +#: lib/blame.tcl:473 +msgid "Loading copy/move tracking annotations..." +msgstr "" + +#: lib/blame.tcl:493 +msgid "lines annotated" +msgstr "" + +#: lib/blame.tcl:674 +msgid "Loading original location annotations..." +msgstr "" + +#: lib/blame.tcl:677 +msgid "Annotation complete." +msgstr "" + +#: lib/blame.tcl:731 +#, fuzzy +msgid "Loading annotation..." +msgstr "Загрузка %s..." + +#: lib/blame.tcl:787 +msgid "Author:" +msgstr "" + +#: lib/blame.tcl:791 +#, fuzzy +msgid "Committer:" +msgstr "Сохраненное состояние:" + +#: lib/blame.tcl:796 +msgid "Original File:" +msgstr "" + +#: lib/blame.tcl:910 +msgid "Originally By:" +msgstr "" + +#: lib/blame.tcl:916 +#, fuzzy +msgid "In File:" +msgstr "Файл:" + +#: lib/blame.tcl:921 +msgid "Copied Or Moved Here By:" +msgstr "" + #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" msgstr "Перейти на ветвь" @@ -453,18 +543,17 @@ msgid "Checkout" msgstr "Перейти" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:269 -#: lib/checkout_op.tcl:519 lib/merge.tcl:176 lib/option.tcl:172 -#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "Отменить" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:274 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 msgid "Revision" msgstr "Версия" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 -#: lib/option.tcl:274 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 msgid "Options" msgstr "Настройки" @@ -484,7 +573,7 @@ msgstr "Создание ветви" msgid "Create New Branch" msgstr "Создать новую ветвь" -#: lib/branch_create.tcl:31 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199 msgid "Create" msgstr "Создать" @@ -516,7 +605,7 @@ msgstr "Нет" msgid "Fast Forward Only" msgstr "Только Fast Forward" -#: lib/branch_create.tcl:85 lib/checkout_op.tcl:511 +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 msgid "Reset" msgstr "Сброс" @@ -531,9 +620,7 @@ msgstr "Укажите ветвь слежения." #: lib/branch_create.tcl:140 #, tcl-format msgid "Tracking branch %s is not a branch in the remote repository." -msgstr "" -"Ветвь слежения %s не является ветвью во " -"внешнем репозитории." +msgstr "Ветвь слежения %s не является ветвью во внешнем репозитории." #: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 msgid "Please supply a branch name." @@ -558,22 +645,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 не " -"полностью:" +msgstr "Следующие ветви объединены с %s не полностью:" #: lib/branch_delete.tcl:115 msgid "" @@ -624,24 +705,30 @@ msgstr "Ветвь '%s' уже существует." msgid "Failed to rename '%s'." msgstr "Не удалось переименовать '%s'. " -#: lib/browser.tcl:10 +#: lib/browser.tcl:17 msgid "Starting..." msgstr "Запуск..." -#: lib/browser.tcl:19 +#: lib/browser.tcl:26 msgid "File Browser" msgstr "Просмотр списка файлов" -#: lib/browser.tcl:120 lib/browser.tcl:137 +#: lib/browser.tcl:125 lib/browser.tcl:142 #, tcl-format msgid "Loading %s..." msgstr "Загрузка %s..." -#: lib/browser.tcl:254 lib/browser.tcl:260 +#: lib/browser.tcl:186 +msgid "[Up To Parent]" +msgstr "" + +#: lib/browser.tcl:266 lib/browser.tcl:272 msgid "Browse Branch Files" msgstr "Показать файлы ветви" -#: lib/browser.tcl:265 +#: lib/browser.tcl:277 lib/choose_repository.tcl:215 +#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315 +#: lib/choose_repository.tcl:811 msgid "Browse" msgstr "Показать" @@ -650,7 +737,12 @@ msgstr "Показать" msgid "Fetching %s from %s" msgstr "Получение изменений из %s " -#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +#: lib/checkout_op.tcl:127 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "" + +#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" msgstr "Закрыть" @@ -659,7 +751,7 @@ msgstr "Закрыть" msgid "Branch '%s' does not exist." msgstr "Ветвь '%s' не существует " -#: lib/checkout_op.tcl:205 +#: lib/checkout_op.tcl:206 #, tcl-format msgid "" "Branch '%s' already exists.\n" @@ -672,23 +764,22 @@ msgstr "" "Она не может быть прокручена(fast-forward) к %s.\n" "Требуется объединение." -#: lib/checkout_op.tcl:219 +#: lib/checkout_op.tcl:220 #, tcl-format msgid "Merge strategy '%s' not supported." -msgstr "" -"Операция объединения '%s' не " -"поддерживается." +msgstr "Операция объединения '%s' не поддерживается." -#: lib/checkout_op.tcl:238 +#: lib/checkout_op.tcl:239 #, tcl-format msgid "Failed to update '%s'." msgstr "Не удалось обновить '%s'." -#: lib/checkout_op.tcl:250 -msgid "Index is already locked." +#: lib/checkout_op.tcl:251 +#, fuzzy +msgid "Staging area (index) is already locked." msgstr "Индекс заблокирован." -#: lib/checkout_op.tcl:265 +#: lib/checkout_op.tcl:266 msgid "" "Last scanned state does not match repository state.\n" "\n" @@ -697,34 +788,33 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"Последнее прочитанное состояние " -"репозитория не соответствует текущему.\n" +"Последнее прочитанное состояние репозитория не соответствует текущему.\n" "\n" -"С момента последней проверки репозиторий " -"был изменен другой программой " -"Git.Необходимо перечитать репозиторий, " -"прежде чем изменять текущую ветвь. \n" +"С момента последней проверки репозиторий был изменен другой программой Git." +"Необходимо перечитать репозиторий, прежде чем изменять текущую ветвь. \n" "\n" "Это будет сделано сейчас автоматически.\n" -#: lib/checkout_op.tcl:352 -#, tcl-format -msgid "Aborted checkout of '%s' (file level merging is required)." -msgstr "" -"Прерван переход на '%s' (требуется " -"объединение на уровне файлов)" +#: lib/checkout_op.tcl:322 +#, fuzzy, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "Отсутствует рабочий каталог" #: lib/checkout_op.tcl:353 -msgid "File level merge required." -msgstr "" -"Требуется объединение на уровне файлов." +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "Прерван переход на '%s' (требуется объединение на уровне файлов)" -#: lib/checkout_op.tcl:357 +#: lib/checkout_op.tcl:354 +msgid "File level merge required." +msgstr "Требуется объединение на уровне файлов." + +#: lib/checkout_op.tcl:358 #, tcl-format msgid "Staying on branch '%s'." msgstr "Ветвь '%s' остается текущей." -#: lib/checkout_op.tcl:426 +#: lib/checkout_op.tcl:429 msgid "" "You are no longer on a local branch.\n" "\n" @@ -733,34 +823,33 @@ msgid "" msgstr "" "Вы находитесь не в локальной ветви.\n" "\n" -"Если вы хотите снова вернуться к " -"какой-нибудь ветви, создайте ее сейчас, " -"начиная с 'Текущего отсоединенного " -"состояния'." +"Если вы хотите снова вернуться к какой-нибудь ветви, создайте ее сейчас, " +"начиная с 'Текущего отсоединенного состояния'." -#: lib/checkout_op.tcl:475 +#: lib/checkout_op.tcl:446 +#, fuzzy, tcl-format +msgid "Checked out '%s'." +msgstr "Перейти..." + +#: lib/checkout_op.tcl:478 #, tcl-format msgid "Resetting '%s' to '%s' will lose the following commits:" -msgstr "" -"Сброс '%s' в '%s' приведет к потере следующих " -"сохраненных состояний: " +msgstr "Сброс '%s' в '%s' приведет к потере следующих сохраненных состояний: " -#: lib/checkout_op.tcl:497 +#: lib/checkout_op.tcl:500 msgid "Recovering lost commits may not be easy." -msgstr "" -"Восстановить потерянные сохраненные " -"состояния будет сложно." +msgstr "Восстановить потерянные сохраненные состояния будет сложно." -#: lib/checkout_op.tcl:502 +#: lib/checkout_op.tcl:505 #, tcl-format msgid "Reset '%s'?" msgstr "Сбросить '%s'?" -#: lib/checkout_op.tcl:507 lib/merge.tcl:171 +#: lib/checkout_op.tcl:510 lib/merge.tcl:164 msgid "Visualize" msgstr "Наглядно" -#: lib/checkout_op.tcl:575 +#: lib/checkout_op.tcl:578 #, tcl-format msgid "" "Failed to set current branch.\n" @@ -772,46 +861,290 @@ msgid "" msgstr "" "Не удалось установить текущую ветвь.\n" "\n" -"Ваш рабочий каталог обновлен только " -"частично. Были обновлены все файлы кроме " +"Ваш рабочий каталог обновлен только частично. Были обновлены все файлы кроме " "служебных файлов Git. \n" "\n" -"Этого не должно было произойти. %s " -"завершается." +"Этого не должно было произойти. %s завершается." -#: lib/choose_rev.tcl:35 +#: lib/choose_font.tcl:39 +#, fuzzy +msgid "Select" +msgstr "Выделить все" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "" + +#: lib/choose_font.tcl:73 +#, fuzzy +msgid "Font Size" +msgstr "Уменьшить размер шрифта" + +#: lib/choose_font.tcl:90 +msgid "Font Example" +msgstr "" + +#: lib/choose_font.tcl:101 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" + +#: lib/choose_repository.tcl:25 +msgid "Git Gui" +msgstr "" + +#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 +#, fuzzy +msgid "Create New Repository" +msgstr "Из репозитория" + +#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 +#, fuzzy +msgid "Clone Existing Repository" +msgstr "Репозиторий назначения" + +#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 +#, fuzzy +msgid "Open Existing Repository" +msgstr "Репозиторий назначения" + +#: lib/choose_repository.tcl:91 +msgid "Next >" +msgstr "" + +#: lib/choose_repository.tcl:152 +#, fuzzy, tcl-format +msgid "Location %s already exists." +msgstr "Ветвь '%s' уже существует." + +#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 +#: lib/choose_repository.tcl:172 +#, fuzzy, tcl-format +msgid "Failed to create repository %s:" +msgstr "Не удалось полностью сохранить настройки:" + +#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 +msgid "Directory:" +msgstr "" + +#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 +#: lib/choose_repository.tcl:834 +#, fuzzy +msgid "Git Repository" +msgstr "Репозиторий" + +#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260 +#, fuzzy, tcl-format +msgid "Directory %s already exists." +msgstr "Ветвь '%s' уже существует." + +#: lib/choose_repository.tcl:265 +#, fuzzy, tcl-format +msgid "File %s already exists." +msgstr "Ветвь '%s' уже существует." + +#: lib/choose_repository.tcl:286 +#, fuzzy +msgid "Clone" +msgstr "Закрыть" + +#: lib/choose_repository.tcl:299 +msgid "URL:" +msgstr "" + +#: lib/choose_repository.tcl:319 +msgid "Clone Type:" +msgstr "" + +#: lib/choose_repository.tcl:325 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "" + +#: lib/choose_repository.tcl:331 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "" + +#: lib/choose_repository.tcl:337 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "" + +#: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418 +#: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:840 lib/choose_repository.tcl:848 +#, fuzzy, tcl-format +msgid "Not a Git repository: %s" +msgstr "Не указан репозиторий" + +#: lib/choose_repository.tcl:405 +msgid "Standard only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:409 +msgid "Shared only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:439 +msgid "Failed to configure origin" +msgstr "" + +#: lib/choose_repository.tcl:451 +msgid "Counting objects" +msgstr "" + +#: lib/choose_repository.tcl:452 +msgid "buckets" +msgstr "" + +#: lib/choose_repository.tcl:476 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "" + +#: lib/choose_repository.tcl:512 +#, fuzzy, tcl-format +msgid "Nothing to clone from %s." +msgstr "Получение изменений из %s " + +#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728 +#: lib/choose_repository.tcl:740 +msgid "The 'master' branch has not been initialized." +msgstr "" + +#: lib/choose_repository.tcl:527 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "" + +#: lib/choose_repository.tcl:539 +#, fuzzy, tcl-format +msgid "Cloning from %s" +msgstr "Получение изменений из %s " + +#: lib/choose_repository.tcl:570 +#, fuzzy +msgid "Copying objects" +msgstr "Сжатие базы объектов" + +#: lib/choose_repository.tcl:571 +msgid "KiB" +msgstr "" + +#: lib/choose_repository.tcl:595 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "" + +#: lib/choose_repository.tcl:605 +msgid "Linking objects" +msgstr "" + +#: lib/choose_repository.tcl:606 +msgid "objects" +msgstr "" + +#: lib/choose_repository.tcl:614 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "" + +#: lib/choose_repository.tcl:669 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:680 +msgid "Cannot fetch tags. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:704 +msgid "Cannot determine HEAD. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:713 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "" + +#: lib/choose_repository.tcl:719 +msgid "Clone failed." +msgstr "" + +#: lib/choose_repository.tcl:726 +msgid "No default branch obtained." +msgstr "" + +#: lib/choose_repository.tcl:737 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "" + +#: lib/choose_repository.tcl:749 +#, fuzzy +msgid "Creating working directory" +msgstr "Отсутствует рабочий каталог" + +#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 +#: lib/index.tcl:149 +msgid "files" +msgstr "" + +#: lib/choose_repository.tcl:779 +msgid "Initial file checkout failed." +msgstr "" + +#: lib/choose_repository.tcl:795 +msgid "Open" +msgstr "" + +#: lib/choose_repository.tcl:805 +#, fuzzy +msgid "Repository:" +msgstr "Репозиторий" + +#: lib/choose_repository.tcl:854 +#, fuzzy, tcl-format +msgid "Failed to open repository %s:" +msgstr "Не удалось полностью сохранить настройки:" + +#: lib/choose_rev.tcl:53 msgid "This Detached Checkout" msgstr "Текущее отсоединенное состояние" -#: lib/choose_rev.tcl:42 +#: lib/choose_rev.tcl:60 msgid "Revision Expression:" msgstr "Выражение для определения версии:" -#: lib/choose_rev.tcl:56 +#: lib/choose_rev.tcl:74 msgid "Local Branch" msgstr "Локальная ветвь:" -#: lib/choose_rev.tcl:61 +#: lib/choose_rev.tcl:79 msgid "Tracking Branch" msgstr "Ветвь слежения" -#: lib/choose_rev.tcl:66 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 msgid "Tag" msgstr "Метка" -#: lib/choose_rev.tcl:227 +#: lib/choose_rev.tcl:317 #, tcl-format msgid "Invalid revision: %s" msgstr "Неверная версия: %s" -#: lib/choose_rev.tcl:248 +#: lib/choose_rev.tcl:338 msgid "No revision selected." msgstr "Версия не указана." -#: lib/choose_rev.tcl:256 +#: lib/choose_rev.tcl:346 msgid "Revision expression is empty." +msgstr "Пустое выражения для определения версии." + +#: lib/choose_rev.tcl:530 +msgid "Updated" +msgstr "" + +#: lib/choose_rev.tcl:558 +msgid "URL" msgstr "" -"Пустое выражения для определения версии." #: lib/commit.tcl:9 msgid "" @@ -822,8 +1155,7 @@ msgid "" msgstr "" "Отсутствует состояние для исправления.\n" "\n" -"Вы можете создать начальное сохраненное " -"состояние. Других состояний для " +"Вы можете создать начальное сохраненное состояние. Других состояний для " "исправления нет.\n" #: lib/commit.tcl:18 @@ -834,25 +1166,18 @@ 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 msgid "Error loading commit data for amend:" -msgstr "" -"Ошибка при загрузке данных для " -"исправления сохраненного состояния:" +msgstr "Ошибка при загрузке данных для исправления сохраненного состояния:" #: lib/commit.tcl:76 msgid "Unable to obtain your identity:" -msgstr "" -"Невозможно получить информацию об " -"авторстве:" +msgstr "Невозможно получить информацию об авторстве:" #: lib/commit.tcl:81 msgid "Invalid GIT_COMMITTER_IDENT:" @@ -867,30 +1192,25 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"Последнее прочитанное состояние " -"репозитория не соответствует текущему.\n" +"Последнее прочитанное состояние репозитория не соответствует текущему.\n" "\n" -"С момента последней проверки репозиторий " -"был изменен другой программой " -"Git.Необходимо перечитать репозиторий, " -"прежде чем изменять текущую ветвь. \n" +"С момента последней проверки репозиторий был изменен другой программой Git." +"Необходимо перечитать репозиторий, прежде чем изменять текущую ветвь. \n" "\n" "Это будет сделано сейчас автоматически.\n" #: lib/commit.tcl:154 -#, tcl-format +#, fuzzy, tcl-format msgid "" "Unmerged files cannot be committed.\n" "\n" -"File %s has merge conflicts. You must resolve them and add the file before " -"committing.\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" msgstr "" "Нельзя сохранить необъединенные файлы.\n" "\n" -"Для файла %s возник конфликт объединения. " -"Разрешите конфликт и добавьте к " -"подготовленным файлам перед " -"сохранением.\n" +"Для файла %s возник конфликт объединения. Разрешите конфликт и добавьте к " +"подготовленным файлам перед сохранением.\n" #: lib/commit.tcl:162 #, tcl-format @@ -899,22 +1219,20 @@ msgid "" "\n" "File %s cannot be committed by this program.\n" msgstr "" -"Обнаружено неизвестное состояние файла " -"%s.\n" +"Обнаружено неизвестное состояние файла %s.\n" "\n" -"Файл %s не может быть сохранен данной " -"программой.\n" +"Файл %s не может быть сохранен данной программой.\n" #: lib/commit.tcl:170 +#, fuzzy msgid "" "No changes to commit.\n" "\n" -"You must add at least 1 file before you can commit.\n" +"You must stage at least 1 file before you can commit.\n" msgstr "" "Отсутствуют изменения для сохранения.\n" "\n" -"Подготовьте хотя бы один файл до создания " -"сохраненного состояния.\n" +"Подготовьте хотя бы один файл до создания сохраненного состояния.\n" #: lib/commit.tcl:183 msgid "" @@ -926,22 +1244,22 @@ msgid "" "- Second line: Blank\n" "- Remaining lines: Describe why this change is good.\n" msgstr "" -"Напишите комментарий к сохраненному " -"состоянию.\n" +"Напишите комментарий к сохраненному состоянию.\n" "\n" -"Рекомендуется следующий формат " -"комментария:\n" +"Рекомендуется следующий формат комментария:\n" "\n" -"- первая строка: краткое описание " -"сделанных изменений.\n" +"- первая строка: краткое описание сделанных изменений.\n" "- вторая строка пустая\n" -"- оставшиеся строки: опишите, что дают " -"ваши изменения.\n" +"- оставшиеся строки: опишите, что дают ваши изменения.\n" #: lib/commit.tcl:257 msgid "write-tree failed:" +msgstr "Программа write-tree завершилась с ошибкой:" + +#: lib/commit.tcl:275 +#, tcl-format +msgid "Commit %s appears to be corrupt" msgstr "" -"Программа write-tree завершилась с ошибкой:" #: lib/commit.tcl:279 msgid "" @@ -953,40 +1271,41 @@ msgid "" msgstr "" "Отсутствуют изменения для сохранения.\n" "\n" -"Ни один файл не был изменен и не было " -"объединения.\n" +"Ни один файл не был изменен и не было объединения.\n" "\n" -"Сейчас автоматически запустится " -"перечитывание репозитория.\n" +"Сейчас автоматически запустится перечитывание репозитория.\n" #: lib/commit.tcl:286 msgid "No changes to commit." msgstr "Отуствуют измения для сохранения." +#: lib/commit.tcl:303 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "" + #: lib/commit.tcl:317 msgid "commit-tree failed:" -msgstr "" -"Программа commit-tree завершилась с ошибкой:" +msgstr "Программа commit-tree завершилась с ошибкой:" #: lib/commit.tcl:339 msgid "update-ref failed:" -msgstr "" -"Программа update-ref завершилась с ошибкой:" +msgstr "Программа update-ref завершилась с ошибкой:" #: lib/commit.tcl:430 #, tcl-format msgid "Created commit %s: %s" msgstr "Создано состояние %s: %s " -#: lib/console.tcl:55 +#: lib/console.tcl:57 msgid "Working... please wait..." msgstr "В процессе... пожалуйста, ждите..." -#: lib/console.tcl:184 +#: lib/console.tcl:183 msgid "Success" msgstr "Процесс успешно завершен" -#: lib/console.tcl:194 +#: lib/console.tcl:196 msgid "Error: Command Failed" msgstr "Ошибка: не удалось выполнить команду" @@ -996,9 +1315,7 @@ msgstr "Количество несвязанных объектов" #: lib/database.tcl:44 msgid "Disk space used by loose objects" -msgstr "" -"Объем дискового пространства, занятый " -"несвязанными объектами" +msgstr "Объем дискового пространства, занятый несвязанными объектами" #: lib/database.tcl:45 msgid "Number of packed objects" @@ -1010,15 +1327,11 @@ msgstr "Количество pack-файлов" #: lib/database.tcl:47 msgid "Disk space used by packed objects" -msgstr "" -"Объем дискового пространства, занятый " -"упакованными объектами" +msgstr "Объем дискового пространства, занятый упакованными объектами" #: lib/database.tcl:48 msgid "Packed objects waiting for pruning" -msgstr "" -"Несвязанные объекты, которые можно " -"удалить" +msgstr "Несвязанные объекты, которые можно удалить" #: lib/database.tcl:49 msgid "Garbage files" @@ -1032,6 +1345,22 @@ msgstr "Сжатие базы объектов" msgid "Verifying the object database with fsck-objects" msgstr "Проверка базы объектов при помощи fsck" +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" + +#: lib/date.tcl:25 +#, fuzzy, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Неверная версия: %s" + #: lib/diff.tcl:42 #, tcl-format msgid "" @@ -1049,30 +1378,44 @@ msgstr "" "\n" "в %s отутствуют изменения.\n" "\n" -"Дата изменения файла была обновлена " -"другой программой, но содержимое файла " +"Дата изменения файла была обновлена другой программой, но содержимое файла " "осталось прежним.\n" "\n" -"Сейчас будет запущено перечитывание " -"репозитория, чтобы найти подобные файлы." +"Сейчас будет запущено перечитывание репозитория, чтобы найти подобные файлы." -#: lib/diff.tcl:97 +#: lib/diff.tcl:81 +#, fuzzy, tcl-format +msgid "Loading diff of %s..." +msgstr "Загрузка %s..." + +#: lib/diff.tcl:114 lib/diff.tcl:184 +#, tcl-format +msgid "Unable to display %s" +msgstr "" + +#: lib/diff.tcl:115 msgid "Error loading file:" msgstr "Ошибка загрузки файла:" -#: lib/diff.tcl:162 +#: lib/diff.tcl:122 +msgid "Git Repository (subproject)" +msgstr "" + +#: lib/diff.tcl:134 +msgid "* Binary file (not showing content)." +msgstr "" + +#: lib/diff.tcl:185 msgid "Error loading diff:" msgstr "Ошибка загрузки diff:" -#: lib/diff.tcl:278 +#: lib/diff.tcl:302 msgid "Failed to unstage selected hunk." msgstr "Не удалось исключить выбранную часть" -#: lib/diff.tcl:285 +#: lib/diff.tcl:309 msgid "Failed to stage selected hunk." -msgstr "" -"Не удалось подготовить к сохранению " -"выбранную часть" +msgstr "Не удалось подготовить к сохранению выбранную часть" #: lib/error.tcl:12 lib/error.tcl:102 msgid "error" @@ -1084,47 +1427,53 @@ msgstr "предупреждение" #: lib/error.tcl:81 msgid "You must correct the above errors before committing." -msgstr "" -"Прежде чем сохранить, исправьте " -"вышеуказанные ошибки." +msgstr "Прежде чем сохранить, исправьте вышеуказанные ошибки." -#: lib/index.tcl:364 +#: lib/index.tcl:241 +#, fuzzy, tcl-format +msgid "Unstaging %s from commit" +msgstr "Убрать из подготовленного" + +#: lib/index.tcl:285 +#, fuzzy, tcl-format +msgid "Adding %s" +msgstr "Чтение %s..." + +#: lib/index.tcl:340 #, fuzzy, tcl-format msgid "Revert changes in file %s?" msgstr "Отменить изменения" -#: lib/index.tcl:366 +#: lib/index.tcl:342 #, tcl-format msgid "Revert changes in these %i files?" msgstr "Отменить изменения в %i файле(-ах)?" -#: lib/index.tcl:372 +#: lib/index.tcl:348 #, fuzzy -msgid "Any unadded changes will be permanently lost by the revert." +msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Отменить изменения в %s?\n" "\n" -"Любые изменения, не подготовленные к " -"сохранению, будут потеряны при данной " +"Любые изменения, не подготовленные к сохранению, будут потеряны при данной " "операции." -#: lib/index.tcl:375 +#: lib/index.tcl:351 msgid "Do Nothing" msgstr "Ничего не делать" -#: lib/merge.tcl:14 +#: 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:28 +#: lib/merge.tcl:27 msgid "" "Last scanned state does not match repository state.\n" "\n" @@ -1133,35 +1482,30 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"Последнее прочитанное состояние " -"репозитория не соответствует текущему.\n" +"Последнее прочитанное состояние репозитория не соответствует текущему.\n" "\n" -"С момента последней проверки репозиторий " -"был изменен другой программой " -"Git.Необходимо перечитать репозиторий, " -"прежде чем изменять текущую ветвь. \n" +"С момента последней проверки репозиторий был изменен другой программой Git." +"Необходимо перечитать репозиторий, прежде чем изменять текущую ветвь. \n" "\n" "Это будет сделано сейчас автоматически.\n" -#: lib/merge.tcl:45 -#, tcl-format +#: lib/merge.tcl:44 +#, fuzzy, 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, add the file, and commit to complete the current " +"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" -"Разрешите конфликт, подготовьте файл и " -"сохраните. Только после этого можно " +"Разрешите конфликт, подготовьте файл и сохраните. Только после этого можно " "начать следующее объединение.\n" -#: lib/merge.tcl:55 +#: lib/merge.tcl:54 #, tcl-format msgid "" "You are in the middle of a change.\n" @@ -1175,36 +1519,38 @@ msgstr "" "\n" "Файл %s изменен.\n" "\n" -"Подготовьте и сохраните измения перед " -"началом объединения. В случае " -"необходимости это позволит прервать " -"операцию объединения.\n" +"Подготовьте и сохраните измения перед началом объединения. В случае " +"необходимости это позволит прервать операцию объединения.\n" -#: lib/merge.tcl:94 +#: lib/merge.tcl:106 +#, tcl-format +msgid "%s of %s" +msgstr "" + +#: lib/merge.tcl:119 #, tcl-format msgid "Merging %s and %s" msgstr "Объединение %s и %s" -#: lib/merge.tcl:106 +#: lib/merge.tcl:131 msgid "Merge completed successfully." msgstr "Объединение успешно завершено." -#: lib/merge.tcl:108 +#: lib/merge.tcl:133 msgid "Merge failed. Conflict resolution is required." -msgstr "" -"Не удалось завершить объединение. " -"Требуется разрешение конфликта." +msgstr "Не удалось завершить объединение. Требуется разрешение конфликта." -#: lib/merge.tcl:166 +#: lib/merge.tcl:158 #, tcl-format msgid "Merge Into %s" msgstr "Объединить с %s" -#: lib/merge.tcl:181 lib/transport.tcl:98 -msgid "Source Branches" -msgstr "Исходные ветви" +#: lib/merge.tcl:177 +#, fuzzy +msgid "Revision To Merge" +msgstr "Версия" -#: lib/merge.tcl:240 +#: lib/merge.tcl:212 msgid "" "Cannot abort while amending.\n" "\n" @@ -1212,10 +1558,9 @@ msgid "" msgstr "" "Невозможно прервать исправление.\n" "\n" -"Завершите текущее исправление " -"сохраненного состояния.\n" +"Завершите текущее исправление сохраненного состояния.\n" -#: lib/merge.tcl:250 +#: lib/merge.tcl:222 msgid "" "Abort merge?\n" "\n" @@ -1224,113 +1569,129 @@ msgid "" "Continue with aborting the current merge?" msgstr "" "Прервать объединение?\n" -"Прерывание объединения приведет к потере " -"*ВСЕХ* несохраненных изменений.\n" +"Прерывание объединения приведет к потере *ВСЕХ* несохраненных изменений.\n" "\n" "Продолжить?" -#: lib/merge.tcl:256 +#: lib/merge.tcl:228 +#, fuzzy msgid "" -"Abort commit?\n" +"Reset changes?\n" "\n" -"Aborting the current commit will cause *ALL* uncommitted changes to be " -"lost.\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" "\n" -"Continue with aborting the current commit?" +"Continue with resetting the current changes?" msgstr "" -"Отменить изменения?\n" -"\n" -"Вызванная операция приведет к потере " -"*ВСЕХ* несохраненных изменений.\n" +"Прервать объединение?\n" +"Прерывание объединения приведет к потере *ВСЕХ* несохраненных изменений.\n" "\n" "Продолжить?" -#: lib/merge.tcl:267 -msgid "Aborting... please wait..." +#: lib/merge.tcl:239 +msgid "Aborting" msgstr "" -"Прерывание выполнения... Пожалуйста, " -"ждите..." -#: lib/merge.tcl:290 +#: lib/merge.tcl:266 +msgid "Abort failed." +msgstr "" + +#: lib/merge.tcl:268 msgid "Abort completed. Ready." msgstr "Прервано." -#: lib/option.tcl:77 -msgid "git-gui - a graphical user interface for Git." -msgstr "" -"git-gui - графический пользовательский " -"интерфейс к Git." - -#: lib/option.tcl:164 +#: lib/option.tcl:82 msgid "Restore Defaults" msgstr "Восстановить настройки по умолчанию" -#: lib/option.tcl:168 +#: lib/option.tcl:86 msgid "Save" msgstr "Сохранить" -#: lib/option.tcl:178 +#: lib/option.tcl:96 #, tcl-format msgid "%s Repository" msgstr "для репозитория %s " -#: lib/option.tcl:179 +#: lib/option.tcl:97 msgid "Global (All Repositories)" msgstr "Общие (для всех репозиториев)" -#: lib/option.tcl:185 +#: lib/option.tcl:103 msgid "User Name" msgstr "Имя пользователя" -#: lib/option.tcl:186 +#: lib/option.tcl:104 msgid "Email Address" msgstr "Адес электронной почты" -#: lib/option.tcl:188 +#: lib/option.tcl:106 msgid "Summarize Merge Commits" -msgstr "" -"Суммарный комментарий при объединении" +msgstr "Суммарный комментарий при объединении" -#: lib/option.tcl:189 +#: lib/option.tcl:107 msgid "Merge Verbosity" -msgstr "" -"Уровень детальности сообщений при " -"объединении" +msgstr "Уровень детальности сообщений при объединении" -#: lib/option.tcl:190 +#: lib/option.tcl:108 msgid "Show Diffstat After Merge" -msgstr "" -"Показать отчет об изменениях после " -"объединения" +msgstr "Показать отчет об изменениях после объединения" -#: lib/option.tcl:192 +#: lib/option.tcl:110 msgid "Trust File Modification Timestamps" msgstr "Доверять времени модификации файла" -#: lib/option.tcl:193 +#: lib/option.tcl:111 msgid "Prune Tracking Branches During Fetch" -msgstr "" -"Чистка ветвей слежения при получении " -"изменений" +msgstr "Чистка ветвей слежения при получении изменений" -#: lib/option.tcl:194 +#: lib/option.tcl:112 msgid "Match Tracking Branches" -msgstr "" -"Имя новой ветви взять из имен ветвей " -"слежения" +msgstr "Имя новой ветви взять из имен ветвей слежения" -#: lib/option.tcl:195 +#: lib/option.tcl:113 msgid "Number of Diff Context Lines" msgstr "Число строк в контексте diff" -#: lib/option.tcl:196 +#: lib/option.tcl:114 msgid "New Branch Name Template" msgstr "Шаблон для имени новой ветви" -#: lib/option.tcl:305 -msgid "Failed to completely save options:" +#: lib/option.tcl:176 +#, fuzzy +msgid "Change Font" +msgstr "Шрифт интерфейса" + +#: lib/option.tcl:180 +#, tcl-format +msgid "Choose %s" msgstr "" -"Не удалось полностью сохранить настройки:" + +#: lib/option.tcl:186 +msgid "pt." +msgstr "" + +#: lib/option.tcl:200 +msgid "Preferences" +msgstr "" + +#: lib/option.tcl:235 +msgid "Failed to completely save options:" +msgstr "Не удалось полностью сохранить настройки:" + +#: lib/remote.tcl:165 +#, fuzzy +msgid "Prune from" +msgstr "Чистка %s... " + +#: lib/remote.tcl:170 +#, fuzzy +msgid "Fetch from" +msgstr "Чистка %s... " + +#: lib/remote.tcl:213 +#, fuzzy +msgid "Push to" +msgstr "Отправить" #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 msgid "Delete Remote Branch" @@ -1340,11 +1701,11 @@ msgstr "Удалить внешнюю ветвь" msgid "From Repository" msgstr "Из репозитория" -#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 msgid "Remote:" msgstr "внешний:" -#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 msgid "Arbitrary URL:" msgstr "по указанному URL:" @@ -1362,15 +1723,19 @@ 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 +#, fuzzy, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "Следующие ветви объединены с %s не полностью:" #: lib/remote_branch_delete.tcl:189 #, tcl-format @@ -1381,9 +1746,7 @@ msgstr "" #: lib/remote_branch_delete.tcl:207 msgid "Please select one or more branches to delete." -msgstr "" -"Укажите одну или несколько ветвей для " -"удаления." +msgstr "Укажите одну или несколько ветвей для удаления." #: lib/remote_branch_delete.tcl:216 msgid "" @@ -1409,21 +1772,6 @@ msgstr "Не указан репозиторий" msgid "Scanning %s..." msgstr "Перечитывание %s... " -#: lib/remote.tcl:156 -#, fuzzy, tcl-format -msgid "Fetch from %s..." -msgstr "Чистка %s... " - -#: lib/remote.tcl:166 -#, tcl-format -msgid "Prune from %s..." -msgstr "Чистка %s... " - -#: lib/remote.tcl:200 -#, tcl-format -msgid "Push to %s..." -msgstr "Отправка в %s..." - #: lib/shortcut.tcl:26 lib/shortcut.tcl:74 msgid "Cannot write script:" msgstr "Невозможно записать скрипт:" @@ -1432,49 +1780,105 @@ msgstr "Невозможно записать скрипт:" msgid "Cannot write icon:" msgstr "Невозможно записать значок:" -#: lib/status_bar.tcl:58 +#: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" msgstr "%s ... %*i из %*i %s (%3i%%)" +#: lib/transport.tcl:6 +#, fuzzy, tcl-format +msgid "fetch %s" +msgstr "Получить" + #: lib/transport.tcl:7 #, tcl-format msgid "Fetching new changes from %s" msgstr "Получение изменений из %s " +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "" + #: lib/transport.tcl:19 #, tcl-format msgid "Pruning tracking branches deleted from %s" msgstr "Чистка ветвей слежения, удаленных из %s" +#: lib/transport.tcl:25 lib/transport.tcl:71 +#, tcl-format +msgid "push %s" +msgstr "" + #: lib/transport.tcl:26 #, tcl-format msgid "Pushing changes to %s" msgstr "Отправка изменений в %s " -#: lib/transport.tcl:68 +#: lib/transport.tcl:72 #, tcl-format msgid "Pushing %s %s to %s" msgstr "Отправка %s %s в %s" -#: lib/transport.tcl:84 +#: lib/transport.tcl:89 msgid "Push Branches" msgstr "Отправить изменения" -#: lib/transport.tcl:115 +#: lib/transport.tcl:103 +msgid "Source Branches" +msgstr "Исходные ветви" + +#: lib/transport.tcl:120 msgid "Destination Repository" msgstr "Репозиторий назначения" -#: lib/transport.tcl:153 +#: lib/transport.tcl:158 msgid "Transfer Options" msgstr "Настройки передачи" -#: lib/transport.tcl:155 -msgid "Use thin pack (for slow network connections)" +#: lib/transport.tcl:160 +msgid "Force overwrite existing branch (may discard changes)" msgstr "" -"Использовать thin pack (для медленных сетевых " -"подключений)" -#: lib/transport.tcl:159 +#: lib/transport.tcl:164 +msgid "Use thin pack (for slow network connections)" +msgstr "Использовать thin pack (для медленных сетевых подключений)" + +#: lib/transport.tcl:168 msgid "Include tags" msgstr "Включить метки" + +#~ msgid "Cannot find the git directory:" +#~ msgstr "Каталог Git не найден:" + +#~ msgid "Add To Commit" +#~ msgstr "Подготовить к сохранению" + +#~ msgid "Add Existing To Commit" +#~ msgstr "Подготовить имеющиеся файлы к сохранению" + +#~ msgid "Unstaged Changes (Will Not Be Committed)" +#~ msgstr "Изменено (не будет сохранено)" + +#~ msgid "Add Existing" +#~ msgstr "Добавить имеющиеся файлы" + +#~ msgid "" +#~ "Abort commit?\n" +#~ "\n" +#~ "Aborting the current commit will cause *ALL* uncommitted changes to be " +#~ "lost.\n" +#~ "\n" +#~ "Continue with aborting the current commit?" +#~ msgstr "" +#~ "Отменить изменения?\n" +#~ "\n" +#~ "Вызванная операция приведет к потере *ВСЕХ* несохраненных изменений.\n" +#~ "\n" +#~ "Продолжить?" + +#~ msgid "Aborting... please wait..." +#~ msgstr "Прерывание выполнения... Пожалуйста, ждите..." + +#~ msgid "Push to %s..." +#~ msgstr "Отправка в %s..." diff --git a/po/zh_cn.po b/po/zh_cn.po index d1ed94f8a9..621c9479b2 100644 --- a/po/zh_cn.po +++ b/po/zh_cn.po @@ -8,7 +8,7 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-07-27 19:33+0200\n" +"POT-Creation-Date: 2007-10-10 04:04-0400\n" "PO-Revision-Date: 2007-07-21 01:23-0700\n" "Last-Translator: Xudong Guan \n" "Language-Team: Chinese\n" @@ -16,15 +16,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:531 +#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 +#: git-gui.sh:763 +msgid "git-gui: fatal error" +msgstr "" + +#: git-gui.sh:595 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "" + +#: git-gui.sh:620 +msgid "Main Font" +msgstr "" + +#: git-gui.sh:621 +msgid "Diff/Console Font" +msgstr "" + +#: git-gui.sh:635 msgid "Cannot find git in PATH." msgstr "" -#: git-gui.sh:550 +#: git-gui.sh:662 msgid "Cannot parse Git version string:" msgstr "" -#: git-gui.sh:567 +#: git-gui.sh:680 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -36,82 +54,82 @@ msgid "" "Assume '%s' is version 1.5.0?\n" msgstr "" -#: git-gui.sh:689 -msgid "Cannot find the git directory:" -msgstr "" - -#: git-gui.sh:697 +#: git-gui.sh:853 msgid "Git directory not found:" msgstr "" -#: git-gui.sh:703 +#: git-gui.sh:860 +msgid "Cannot move to top of working directory:" +msgstr "" + +#: git-gui.sh:867 msgid "Cannot use funny .git directory:" msgstr "" -#: git-gui.sh:708 +#: git-gui.sh:872 msgid "No working directory" msgstr "" -#: git-gui.sh:853 +#: git-gui.sh:1019 msgid "Refreshing file status..." msgstr "" -#: git-gui.sh:886 +#: git-gui.sh:1084 msgid "Scanning for modified files ..." msgstr "" -#: git-gui.sh:1052 lib/browser.tcl:233 +#: git-gui.sh:1259 lib/browser.tcl:245 #, fuzzy msgid "Ready." msgstr "重做" -#: git-gui.sh:1343 +#: git-gui.sh:1525 msgid "Unmodified" msgstr "" -#: git-gui.sh:1345 +#: git-gui.sh:1527 msgid "Modified, not staged" msgstr "" -#: git-gui.sh:1346 git-gui.sh:1351 +#: git-gui.sh:1528 git-gui.sh:1533 #, fuzzy msgid "Staged for commit" msgstr "从本次提交移除" -#: git-gui.sh:1347 git-gui.sh:1352 +#: git-gui.sh:1529 git-gui.sh:1534 #, fuzzy msgid "Portions staged for commit" msgstr "从本次提交移除" -#: git-gui.sh:1348 git-gui.sh:1353 +#: git-gui.sh:1530 git-gui.sh:1535 msgid "Staged for commit, missing" msgstr "" -#: git-gui.sh:1350 +#: git-gui.sh:1532 msgid "Untracked, not staged" msgstr "" -#: git-gui.sh:1355 +#: git-gui.sh:1537 msgid "Missing" msgstr "" -#: git-gui.sh:1356 +#: git-gui.sh:1538 msgid "Staged for removal" msgstr "" -#: git-gui.sh:1357 +#: git-gui.sh:1539 msgid "Staged for removal, still present" msgstr "" -#: git-gui.sh:1359 git-gui.sh:1360 git-gui.sh:1361 git-gui.sh:1362 +#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544 msgid "Requires merge resolution" msgstr "" -#: git-gui.sh:1404 +#: git-gui.sh:1579 msgid "Starting gitk... please wait..." msgstr "" -#: git-gui.sh:1413 +#: git-gui.sh:1588 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -119,300 +137,336 @@ msgid "" "%s does not exist" msgstr "" -#: git-gui.sh:1630 -#, tcl-format -msgid "Invalid font specified in gui.%s:" -msgstr "" - -#: git-gui.sh:1655 -msgid "Main Font" -msgstr "" - -#: git-gui.sh:1656 -msgid "Diff/Console Font" -msgstr "" - -#: git-gui.sh:1670 +#: git-gui.sh:1788 lib/choose_repository.tcl:32 msgid "Repository" msgstr "版本树" -#: git-gui.sh:1671 +#: git-gui.sh:1789 msgid "Edit" msgstr "编辑" -#: git-gui.sh:1673 +#: git-gui.sh:1791 lib/choose_rev.tcl:560 msgid "Branch" msgstr "分支" -#: git-gui.sh:1676 git-gui.sh:1854 git-gui.sh:2193 -msgid "Commit" +#: git-gui.sh:1794 lib/choose_rev.tcl:547 +#, fuzzy +msgid "Commit@@noun" msgstr "提交" -#: git-gui.sh:1679 lib/merge.tcl:96 lib/merge.tcl:157 lib/merge.tcl:173 +#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "合并" -#: git-gui.sh:1680 -msgid "Fetch" -msgstr "导入" +#: git-gui.sh:1798 lib/choose_rev.tcl:556 +#, fuzzy +msgid "Remote" +msgstr "改名..." -#: git-gui.sh:1681 git-gui.sh:2199 lib/transport.tcl:88 lib/transport.tcl:172 -msgid "Push" -msgstr "上传" - -#: git-gui.sh:1690 +#: git-gui.sh:1807 msgid "Browse Current Branch's Files" msgstr "浏览当前分支文件" -#: git-gui.sh:1692 -#, fuzzy, tcl-format -msgid "Browse %s's Files" -msgstr "浏览当前分支文件" - -#: git-gui.sh:1694 +#: git-gui.sh:1811 #, fuzzy msgid "Browse Branch Files..." msgstr "浏览当前分支文件" -#: git-gui.sh:1699 +#: git-gui.sh:1816 msgid "Visualize Current Branch's History" msgstr "调用gitk显示当前分支" -#: git-gui.sh:1701 +#: git-gui.sh:1820 +msgid "Visualize All Branch History" +msgstr "调用gitk显示所有分支" + +#: git-gui.sh:1827 +#, fuzzy, tcl-format +msgid "Browse %s's Files" +msgstr "浏览当前分支文件" + +#: git-gui.sh:1829 #, fuzzy, tcl-format msgid "Visualize %s's History" msgstr "调用gitk显示所有分支" -#: git-gui.sh:1703 -msgid "Visualize All Branch History" -msgstr "调用gitk显示所有分支" - -#: git-gui.sh:1708 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "数据库统计数据" -#: git-gui.sh:1711 lib/database.tcl:34 +#: git-gui.sh:1837 lib/database.tcl:34 msgid "Compress Database" msgstr "压缩数据库" -#: git-gui.sh:1714 +#: git-gui.sh:1840 msgid "Verify Database" msgstr "验证数据库" -#: git-gui.sh:1721 git-gui.sh:1725 git-gui.sh:1729 lib/shortcut.tcl:9 +#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9 #: lib/shortcut.tcl:45 lib/shortcut.tcl:84 msgid "Create Desktop Icon" msgstr "创建桌面图标" -#: git-gui.sh:1734 +#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95 msgid "Quit" msgstr "退出" -#: git-gui.sh:1741 +#: git-gui.sh:1867 msgid "Undo" msgstr "撤销" -#: git-gui.sh:1744 +#: git-gui.sh:1870 msgid "Redo" msgstr "重做" -#: git-gui.sh:1748 git-gui.sh:2263 +#: git-gui.sh:1874 git-gui.sh:2366 msgid "Cut" msgstr "剪切" -#: git-gui.sh:1751 git-gui.sh:2266 git-gui.sh:2337 git-gui.sh:2409 -#: lib/console.tcl:69 +#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512 +#: lib/console.tcl:67 msgid "Copy" msgstr "复制" -#: git-gui.sh:1754 git-gui.sh:2269 +#: git-gui.sh:1880 git-gui.sh:2372 msgid "Paste" msgstr "粘贴" -#: git-gui.sh:1757 git-gui.sh:2272 lib/branch_delete.tcl:26 +#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "删除" -#: git-gui.sh:1761 git-gui.sh:2276 git-gui.sh:2413 lib/console.tcl:71 +#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69 msgid "Select All" msgstr "全选" -#: git-gui.sh:1770 +#: git-gui.sh:1896 msgid "Create..." msgstr "新建..." -#: git-gui.sh:1776 +#: git-gui.sh:1902 msgid "Checkout..." msgstr "切换..." -#: git-gui.sh:1782 +#: git-gui.sh:1908 msgid "Rename..." msgstr "改名..." -#: git-gui.sh:1787 git-gui.sh:1885 +#: git-gui.sh:1913 git-gui.sh:2012 msgid "Delete..." msgstr "删除..." -#: git-gui.sh:1792 +#: git-gui.sh:1918 msgid "Reset..." msgstr "重置所有修动..." -#: git-gui.sh:1804 git-gui.sh:2210 +#: git-gui.sh:1930 git-gui.sh:2313 msgid "New Commit" msgstr "新提交" -#: git-gui.sh:1812 git-gui.sh:2217 +#: git-gui.sh:1938 git-gui.sh:2320 msgid "Amend Last Commit" msgstr "修订上次提交" -#: git-gui.sh:1821 git-gui.sh:2177 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "重新扫描" -#: git-gui.sh:1827 -msgid "Add To Commit" -msgstr "添加到本次提交" +#: git-gui.sh:1953 +#, fuzzy +msgid "Stage To Commit" +msgstr "从本次提交移除" -#: git-gui.sh:1832 -msgid "Add Existing To Commit" -msgstr "添加默认修改文件" +#: git-gui.sh:1958 +#, fuzzy +msgid "Stage Changed Files To Commit" +msgstr "将被提交的修改" -#: git-gui.sh:1838 +#: git-gui.sh:1964 msgid "Unstage From Commit" msgstr "从本次提交移除" -#: git-gui.sh:1843 lib/index.tcl:376 +#: git-gui.sh:1969 lib/index.tcl:352 msgid "Revert Changes" msgstr "恢复修改" -#: git-gui.sh:1850 git-gui.sh:2189 git-gui.sh:2287 +#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390 msgid "Sign Off" msgstr "签名" -#: git-gui.sh:1865 +#: git-gui.sh:1980 git-gui.sh:2296 +#, fuzzy +msgid "Commit@@verb" +msgstr "提交" + +#: git-gui.sh:1991 msgid "Local Merge..." msgstr "本地合并..." -#: git-gui.sh:1870 +#: git-gui.sh:1996 msgid "Abort Merge..." msgstr "取消合并..." -#: git-gui.sh:1882 +#: git-gui.sh:2008 msgid "Push..." msgstr "上传..." -#: git-gui.sh:1892 +#: git-gui.sh:2019 lib/choose_repository.tcl:41 msgid "Apple" msgstr "苹果" -#: git-gui.sh:1895 git-gui.sh:1942 lib/option.tcl:65 +#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13 +#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 #, tcl-format msgid "About %s" msgstr "关于%s" -#: git-gui.sh:1897 git-gui.sh:1903 git-gui.sh:2455 +#: git-gui.sh:2026 +msgid "Preferences..." +msgstr "" + +#: git-gui.sh:2034 git-gui.sh:2558 msgid "Options..." msgstr "选项..." -#: git-gui.sh:1917 -msgid "Running miga..." -msgstr "" - -#: git-gui.sh:1938 +#: git-gui.sh:2040 lib/choose_repository.tcl:47 msgid "Help" msgstr "帮助" -#: git-gui.sh:1979 +#: git-gui.sh:2081 msgid "Online Documentation" msgstr "在线文档" -#: git-gui.sh:2095 +#: git-gui.sh:2165 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "" + +#: git-gui.sh:2198 msgid "Current Branch:" msgstr "当前分支:" -#: git-gui.sh:2116 -msgid "Staged Changes (Will Be Committed)" +#: git-gui.sh:2219 +#, fuzzy +msgid "Staged Changes (Will Commit)" msgstr "将被提交的修改" -#: git-gui.sh:2136 -msgid "Unstaged Changes (Will Not Be Committed)" -msgstr "不被提交的修改" +#: git-gui.sh:2239 +msgid "Unstaged Changes" +msgstr "" -#: git-gui.sh:2183 -msgid "Add Existing" -msgstr "添加默认修改文件" +#: git-gui.sh:2286 +msgid "Stage Changed" +msgstr "" -#: git-gui.sh:2229 +#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182 +msgid "Push" +msgstr "上传" + +#: git-gui.sh:2332 msgid "Initial Commit Message:" msgstr "初始提交描述:" -#: git-gui.sh:2230 +#: git-gui.sh:2333 msgid "Amended Commit Message:" msgstr "修订提交描述:" -#: git-gui.sh:2231 +#: git-gui.sh:2334 msgid "Amended Initial Commit Message:" msgstr "修订初始提交描述:" -#: git-gui.sh:2232 +#: git-gui.sh:2335 msgid "Amended Merge Commit Message:" msgstr "修订合并提交描述:" -#: git-gui.sh:2233 +#: git-gui.sh:2336 msgid "Merge Commit Message:" msgstr "合并提交描述:" -#: git-gui.sh:2234 +#: git-gui.sh:2337 msgid "Commit Message:" msgstr "提交描述:" -#: git-gui.sh:2279 git-gui.sh:2417 lib/console.tcl:73 +#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71 msgid "Copy All" msgstr "全部复制" -#: git-gui.sh:2303 lib/blame.tcl:104 +#: git-gui.sh:2406 lib/blame.tcl:104 msgid "File:" msgstr "" -#: git-gui.sh:2405 +#: git-gui.sh:2508 msgid "Refresh" msgstr "刷新" -#: git-gui.sh:2426 +#: git-gui.sh:2529 msgid "Apply/Reverse Hunk" msgstr "应用/撤消此修改块" -#: git-gui.sh:2432 +#: git-gui.sh:2535 msgid "Decrease Font Size" msgstr "缩小字体" -#: git-gui.sh:2436 +#: git-gui.sh:2539 msgid "Increase Font Size" msgstr "放大字体" -#: git-gui.sh:2441 +#: git-gui.sh:2544 msgid "Show Less Context" msgstr "显示更多diff上下文" -#: git-gui.sh:2448 +#: git-gui.sh:2551 msgid "Show More Context" msgstr "显示更少diff上下文" -#: git-gui.sh:2461 +#: git-gui.sh:2565 #, fuzzy msgid "Unstage Hunk From Commit" msgstr "从本次提交移除" -#: git-gui.sh:2463 +#: git-gui.sh:2567 #, fuzzy msgid "Stage Hunk For Commit" msgstr "从本次提交移除" -#: git-gui.sh:2473 +#: git-gui.sh:2586 msgid "Initializing..." msgstr "" +#: git-gui.sh:2677 +#, 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:2707 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" + +#: git-gui.sh:2712 +#, 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:25 +msgid "git-gui - a graphical user interface for Git." +msgstr "" + #: lib/blame.tcl:77 msgid "File Viewer" msgstr "" @@ -432,6 +486,51 @@ msgstr "提交" msgid "Reading %s..." msgstr "" +#: lib/blame.tcl:473 +msgid "Loading copy/move tracking annotations..." +msgstr "" + +#: lib/blame.tcl:493 +msgid "lines annotated" +msgstr "" + +#: lib/blame.tcl:674 +msgid "Loading original location annotations..." +msgstr "" + +#: lib/blame.tcl:677 +msgid "Annotation complete." +msgstr "" + +#: lib/blame.tcl:731 +msgid "Loading annotation..." +msgstr "" + +#: lib/blame.tcl:787 +msgid "Author:" +msgstr "" + +#: lib/blame.tcl:791 +#, fuzzy +msgid "Committer:" +msgstr "提交" + +#: lib/blame.tcl:796 +msgid "Original File:" +msgstr "" + +#: lib/blame.tcl:910 +msgid "Originally By:" +msgstr "" + +#: lib/blame.tcl:916 +msgid "In File:" +msgstr "" + +#: lib/blame.tcl:921 +msgid "Copied Or Moved Here By:" +msgstr "" + #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 #, fuzzy msgid "Checkout Branch" @@ -443,18 +542,17 @@ msgid "Checkout" msgstr "切换..." #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 -#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:269 -#: lib/checkout_op.tcl:519 lib/merge.tcl:176 lib/option.tcl:172 -#: lib/remote_branch_delete.tcl:42 lib/transport.tcl:92 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 msgid "Cancel" msgstr "" -#: lib/branch_checkout.tcl:32 lib/browser.tcl:274 +#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 msgid "Revision" msgstr "" -#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:159 -#: lib/option.tcl:274 +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 #, fuzzy msgid "Options" msgstr "选项..." @@ -477,7 +575,7 @@ msgstr "当前分支:" msgid "Create New Branch" msgstr "当前分支:" -#: lib/branch_create.tcl:31 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199 #, fuzzy msgid "Create" msgstr "新建..." @@ -511,7 +609,7 @@ msgstr "" msgid "Fast Forward Only" msgstr "" -#: lib/branch_create.tcl:85 lib/checkout_op.tcl:511 +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 #, fuzzy msgid "Reset" msgstr "重置所有修动..." @@ -612,25 +710,31 @@ msgstr "" msgid "Failed to rename '%s'." msgstr "" -#: lib/browser.tcl:10 +#: lib/browser.tcl:17 msgid "Starting..." msgstr "" -#: lib/browser.tcl:19 +#: lib/browser.tcl:26 msgid "File Browser" msgstr "" -#: lib/browser.tcl:120 lib/browser.tcl:137 +#: lib/browser.tcl:125 lib/browser.tcl:142 #, tcl-format msgid "Loading %s..." msgstr "" -#: lib/browser.tcl:254 lib/browser.tcl:260 +#: lib/browser.tcl:186 +msgid "[Up To Parent]" +msgstr "" + +#: lib/browser.tcl:266 lib/browser.tcl:272 #, fuzzy msgid "Browse Branch Files" msgstr "浏览当前分支文件" -#: lib/browser.tcl:265 +#: lib/browser.tcl:277 lib/choose_repository.tcl:215 +#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315 +#: lib/choose_repository.tcl:811 msgid "Browse" msgstr "" @@ -639,7 +743,12 @@ msgstr "" msgid "Fetching %s from %s" msgstr "" -#: lib/checkout_op.tcl:140 lib/console.tcl:81 lib/database.tcl:31 +#: lib/checkout_op.tcl:127 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "" + +#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" msgstr "" @@ -648,7 +757,7 @@ msgstr "" msgid "Branch '%s' does not exist." msgstr "" -#: lib/checkout_op.tcl:205 +#: lib/checkout_op.tcl:206 #, tcl-format msgid "" "Branch '%s' already exists.\n" @@ -657,21 +766,21 @@ msgid "" "A merge is required." msgstr "" -#: lib/checkout_op.tcl:219 +#: lib/checkout_op.tcl:220 #, tcl-format msgid "Merge strategy '%s' not supported." msgstr "" -#: lib/checkout_op.tcl:238 +#: lib/checkout_op.tcl:239 #, tcl-format msgid "Failed to update '%s'." msgstr "" -#: lib/checkout_op.tcl:250 -msgid "Index is already locked." +#: lib/checkout_op.tcl:251 +msgid "Staging area (index) is already locked." msgstr "" -#: lib/checkout_op.tcl:265 +#: lib/checkout_op.tcl:266 msgid "" "Last scanned state does not match repository state.\n" "\n" @@ -681,21 +790,26 @@ msgid "" "The rescan will be automatically started now.\n" msgstr "" -#: lib/checkout_op.tcl:352 +#: lib/checkout_op.tcl:322 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "" + +#: lib/checkout_op.tcl:353 #, tcl-format msgid "Aborted checkout of '%s' (file level merging is required)." msgstr "" -#: lib/checkout_op.tcl:353 +#: lib/checkout_op.tcl:354 msgid "File level merge required." msgstr "" -#: lib/checkout_op.tcl:357 +#: lib/checkout_op.tcl:358 #, tcl-format msgid "Staying on branch '%s'." msgstr "" -#: lib/checkout_op.tcl:426 +#: lib/checkout_op.tcl:429 msgid "" "You are no longer on a local branch.\n" "\n" @@ -703,25 +817,30 @@ msgid "" "Checkout'." msgstr "" -#: lib/checkout_op.tcl:475 +#: lib/checkout_op.tcl:446 +#, fuzzy, tcl-format +msgid "Checked out '%s'." +msgstr "切换..." + +#: lib/checkout_op.tcl:478 #, tcl-format msgid "Resetting '%s' to '%s' will lose the following commits:" msgstr "" -#: lib/checkout_op.tcl:497 +#: lib/checkout_op.tcl:500 msgid "Recovering lost commits may not be easy." msgstr "" -#: lib/checkout_op.tcl:502 +#: lib/checkout_op.tcl:505 #, tcl-format msgid "Reset '%s'?" msgstr "" -#: lib/checkout_op.tcl:507 lib/merge.tcl:171 +#: lib/checkout_op.tcl:510 lib/merge.tcl:164 msgid "Visualize" msgstr "" -#: lib/checkout_op.tcl:575 +#: lib/checkout_op.tcl:578 #, tcl-format msgid "" "Failed to set current branch.\n" @@ -732,41 +851,286 @@ msgid "" "This should not have occurred. %s will now close and give up." msgstr "" -#: lib/choose_rev.tcl:35 +#: lib/choose_font.tcl:39 +#, fuzzy +msgid "Select" +msgstr "全选" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "" + +#: lib/choose_font.tcl:73 +#, fuzzy +msgid "Font Size" +msgstr "缩小字体" + +#: lib/choose_font.tcl:90 +msgid "Font Example" +msgstr "" + +#: lib/choose_font.tcl:101 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" + +#: lib/choose_repository.tcl:25 +msgid "Git Gui" +msgstr "" + +#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 +#, fuzzy +msgid "Create New Repository" +msgstr "版本树" + +#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 +#, fuzzy +msgid "Clone Existing Repository" +msgstr "版本树" + +#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 +#, fuzzy +msgid "Open Existing Repository" +msgstr "版本树" + +#: lib/choose_repository.tcl:91 +msgid "Next >" +msgstr "" + +#: lib/choose_repository.tcl:152 +#, tcl-format +msgid "Location %s already exists." +msgstr "" + +#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 +#: lib/choose_repository.tcl:172 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "" + +#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 +msgid "Directory:" +msgstr "" + +#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 +#: lib/choose_repository.tcl:834 +#, fuzzy +msgid "Git Repository" +msgstr "版本树" + +#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260 +#, tcl-format +msgid "Directory %s already exists." +msgstr "" + +#: lib/choose_repository.tcl:265 +#, tcl-format +msgid "File %s already exists." +msgstr "" + +#: lib/choose_repository.tcl:286 +msgid "Clone" +msgstr "" + +#: lib/choose_repository.tcl:299 +msgid "URL:" +msgstr "" + +#: lib/choose_repository.tcl:319 +msgid "Clone Type:" +msgstr "" + +#: lib/choose_repository.tcl:325 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "" + +#: lib/choose_repository.tcl:331 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "" + +#: lib/choose_repository.tcl:337 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "" + +#: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418 +#: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630 +#: lib/choose_repository.tcl:840 lib/choose_repository.tcl:848 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "" + +#: lib/choose_repository.tcl:405 +msgid "Standard only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:409 +msgid "Shared only available for local repository." +msgstr "" + +#: lib/choose_repository.tcl:439 +msgid "Failed to configure origin" +msgstr "" + +#: lib/choose_repository.tcl:451 +msgid "Counting objects" +msgstr "" + +#: lib/choose_repository.tcl:452 +msgid "buckets" +msgstr "" + +#: lib/choose_repository.tcl:476 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "" + +#: lib/choose_repository.tcl:512 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "" + +#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728 +#: lib/choose_repository.tcl:740 +msgid "The 'master' branch has not been initialized." +msgstr "" + +#: lib/choose_repository.tcl:527 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "" + +#: lib/choose_repository.tcl:539 +#, tcl-format +msgid "Cloning from %s" +msgstr "" + +#: lib/choose_repository.tcl:570 +#, fuzzy +msgid "Copying objects" +msgstr "压缩数据库" + +#: lib/choose_repository.tcl:571 +msgid "KiB" +msgstr "" + +#: lib/choose_repository.tcl:595 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "" + +#: lib/choose_repository.tcl:605 +msgid "Linking objects" +msgstr "" + +#: lib/choose_repository.tcl:606 +msgid "objects" +msgstr "" + +#: lib/choose_repository.tcl:614 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "" + +#: lib/choose_repository.tcl:669 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:680 +msgid "Cannot fetch tags. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:704 +msgid "Cannot determine HEAD. See console output for details." +msgstr "" + +#: lib/choose_repository.tcl:713 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "" + +#: lib/choose_repository.tcl:719 +msgid "Clone failed." +msgstr "" + +#: lib/choose_repository.tcl:726 +msgid "No default branch obtained." +msgstr "" + +#: lib/choose_repository.tcl:737 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "" + +#: lib/choose_repository.tcl:749 +msgid "Creating working directory" +msgstr "" + +#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 +#: lib/index.tcl:149 +msgid "files" +msgstr "" + +#: lib/choose_repository.tcl:779 +msgid "Initial file checkout failed." +msgstr "" + +#: lib/choose_repository.tcl:795 +msgid "Open" +msgstr "" + +#: lib/choose_repository.tcl:805 +#, fuzzy +msgid "Repository:" +msgstr "版本树" + +#: lib/choose_repository.tcl:854 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "" + +#: lib/choose_rev.tcl:53 msgid "This Detached Checkout" msgstr "" -#: lib/choose_rev.tcl:42 +#: lib/choose_rev.tcl:60 msgid "Revision Expression:" msgstr "" -#: lib/choose_rev.tcl:56 +#: lib/choose_rev.tcl:74 #, fuzzy msgid "Local Branch" msgstr "分支" -#: lib/choose_rev.tcl:61 +#: lib/choose_rev.tcl:79 #, fuzzy msgid "Tracking Branch" msgstr "当前分支:" -#: lib/choose_rev.tcl:66 +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 msgid "Tag" msgstr "" -#: lib/choose_rev.tcl:227 +#: lib/choose_rev.tcl:317 #, tcl-format msgid "Invalid revision: %s" msgstr "" -#: lib/choose_rev.tcl:248 +#: lib/choose_rev.tcl:338 msgid "No revision selected." msgstr "" -#: lib/choose_rev.tcl:256 +#: lib/choose_rev.tcl:346 msgid "Revision expression is empty." msgstr "" +#: lib/choose_rev.tcl:530 +msgid "Updated" +msgstr "" + +#: lib/choose_rev.tcl:558 +msgid "URL" +msgstr "" + #: lib/commit.tcl:9 msgid "" "There is nothing to amend.\n" @@ -811,8 +1175,8 @@ msgstr "" msgid "" "Unmerged files cannot be committed.\n" "\n" -"File %s has merge conflicts. You must resolve them and add the file before " -"committing.\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" msgstr "" #: lib/commit.tcl:162 @@ -827,7 +1191,7 @@ msgstr "" msgid "" "No changes to commit.\n" "\n" -"You must add at least 1 file before you can commit.\n" +"You must stage at least 1 file before you can commit.\n" msgstr "" #: lib/commit.tcl:183 @@ -845,6 +1209,11 @@ msgstr "" msgid "write-tree failed:" msgstr "" +#: lib/commit.tcl:275 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "" + #: lib/commit.tcl:279 msgid "" "No changes to commit.\n" @@ -858,6 +1227,11 @@ msgstr "" msgid "No changes to commit." msgstr "" +#: lib/commit.tcl:303 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "" + #: lib/commit.tcl:317 msgid "commit-tree failed:" msgstr "" @@ -871,15 +1245,15 @@ msgstr "" msgid "Created commit %s: %s" msgstr "" -#: lib/console.tcl:55 +#: lib/console.tcl:57 msgid "Working... please wait..." msgstr "" -#: lib/console.tcl:184 +#: lib/console.tcl:183 msgid "Success" msgstr "" -#: lib/console.tcl:194 +#: lib/console.tcl:196 msgid "Error: Command Failed" msgstr "" @@ -920,6 +1294,22 @@ msgstr "压缩数据库" msgid "Verifying the object database with fsck-objects" msgstr "" +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "" + #: lib/diff.tcl:42 #, tcl-format msgid "" @@ -934,19 +1324,37 @@ msgid "" "the same state." msgstr "" -#: lib/diff.tcl:97 +#: lib/diff.tcl:81 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "" + +#: lib/diff.tcl:114 lib/diff.tcl:184 +#, tcl-format +msgid "Unable to display %s" +msgstr "" + +#: lib/diff.tcl:115 msgid "Error loading file:" msgstr "" -#: lib/diff.tcl:162 +#: lib/diff.tcl:122 +msgid "Git Repository (subproject)" +msgstr "" + +#: lib/diff.tcl:134 +msgid "* Binary file (not showing content)." +msgstr "" + +#: lib/diff.tcl:185 msgid "Error loading diff:" msgstr "" -#: lib/diff.tcl:278 +#: lib/diff.tcl:302 msgid "Failed to unstage selected hunk." msgstr "" -#: lib/diff.tcl:285 +#: lib/diff.tcl:309 msgid "Failed to stage selected hunk." msgstr "" @@ -962,32 +1370,42 @@ msgstr "" msgid "You must correct the above errors before committing." msgstr "" -#: lib/index.tcl:364 +#: lib/index.tcl:241 +#, fuzzy, tcl-format +msgid "Unstaging %s from commit" +msgstr "从本次提交移除" + +#: lib/index.tcl:285 +#, tcl-format +msgid "Adding %s" +msgstr "" + +#: lib/index.tcl:340 #, fuzzy, tcl-format msgid "Revert changes in file %s?" msgstr "恢复修改" -#: lib/index.tcl:366 +#: lib/index.tcl:342 #, tcl-format msgid "Revert changes in these %i files?" msgstr "" -#: lib/index.tcl:372 -msgid "Any unadded changes will be permanently lost by the revert." +#: lib/index.tcl:348 +msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" -#: lib/index.tcl:375 +#: lib/index.tcl:351 msgid "Do Nothing" msgstr "" -#: lib/merge.tcl:14 +#: lib/merge.tcl:13 msgid "" "Cannot merge while amending.\n" "\n" "You must finish amending this commit before starting any type of merge.\n" msgstr "" -#: lib/merge.tcl:28 +#: lib/merge.tcl:27 msgid "" "Last scanned state does not match repository state.\n" "\n" @@ -997,18 +1415,18 @@ msgid "" "The rescan will be automatically started now.\n" msgstr "" -#: lib/merge.tcl:45 +#: lib/merge.tcl:44 #, tcl-format msgid "" "You are in the middle of a conflicted merge.\n" "\n" "File %s has merge conflicts.\n" "\n" -"You must resolve them, add the file, and commit to complete the current " +"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 +#: lib/merge.tcl:54 #, tcl-format msgid "" "You are in the middle of a change.\n" @@ -1019,37 +1437,41 @@ msgid "" "will help you abort a failed merge, should the need arise.\n" msgstr "" -#: lib/merge.tcl:94 +#: lib/merge.tcl:106 +#, tcl-format +msgid "%s of %s" +msgstr "" + +#: lib/merge.tcl:119 #, tcl-format msgid "Merging %s and %s" msgstr "" -#: lib/merge.tcl:106 +#: lib/merge.tcl:131 msgid "Merge completed successfully." msgstr "" -#: lib/merge.tcl:108 +#: lib/merge.tcl:133 msgid "Merge failed. Conflict resolution is required." msgstr "" -#: lib/merge.tcl:166 +#: lib/merge.tcl:158 #, tcl-format msgid "Merge Into %s" msgstr "" -#: lib/merge.tcl:181 lib/transport.tcl:98 -#, fuzzy -msgid "Source Branches" -msgstr "当前分支:" +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "" -#: lib/merge.tcl:240 +#: lib/merge.tcl:212 msgid "" "Cannot abort while amending.\n" "\n" "You must finish amending this commit.\n" msgstr "" -#: lib/merge.tcl:250 +#: lib/merge.tcl:222 msgid "" "Abort merge?\n" "\n" @@ -1058,90 +1480,120 @@ msgid "" "Continue with aborting the current merge?" msgstr "" -#: lib/merge.tcl:256 +#: lib/merge.tcl:228 msgid "" -"Abort commit?\n" +"Reset changes?\n" "\n" -"Aborting the current commit will cause *ALL* uncommitted changes to be " -"lost.\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" "\n" -"Continue with aborting the current commit?" +"Continue with resetting the current changes?" msgstr "" -#: lib/merge.tcl:267 -msgid "Aborting... please wait..." +#: lib/merge.tcl:239 +msgid "Aborting" msgstr "" -#: lib/merge.tcl:290 +#: lib/merge.tcl:266 +msgid "Abort failed." +msgstr "" + +#: lib/merge.tcl:268 msgid "Abort completed. Ready." msgstr "" -#: lib/option.tcl:77 -msgid "git-gui - a graphical user interface for Git." -msgstr "" - -#: lib/option.tcl:164 +#: lib/option.tcl:82 msgid "Restore Defaults" msgstr "" -#: lib/option.tcl:168 +#: lib/option.tcl:86 msgid "Save" msgstr "" -#: lib/option.tcl:178 +#: lib/option.tcl:96 #, fuzzy, tcl-format msgid "%s Repository" msgstr "版本树" -#: lib/option.tcl:179 +#: lib/option.tcl:97 msgid "Global (All Repositories)" msgstr "" -#: lib/option.tcl:185 +#: lib/option.tcl:103 msgid "User Name" msgstr "" -#: lib/option.tcl:186 +#: lib/option.tcl:104 msgid "Email Address" msgstr "" -#: lib/option.tcl:188 +#: lib/option.tcl:106 #, fuzzy msgid "Summarize Merge Commits" msgstr "修订合并提交描述:" -#: lib/option.tcl:189 +#: lib/option.tcl:107 msgid "Merge Verbosity" msgstr "" -#: lib/option.tcl:190 +#: lib/option.tcl:108 msgid "Show Diffstat After Merge" msgstr "" -#: lib/option.tcl:192 +#: lib/option.tcl:110 msgid "Trust File Modification Timestamps" msgstr "" -#: lib/option.tcl:193 +#: lib/option.tcl:111 msgid "Prune Tracking Branches During Fetch" msgstr "" -#: lib/option.tcl:194 +#: lib/option.tcl:112 msgid "Match Tracking Branches" msgstr "" -#: lib/option.tcl:195 +#: lib/option.tcl:113 msgid "Number of Diff Context Lines" msgstr "" -#: lib/option.tcl:196 +#: lib/option.tcl:114 msgid "New Branch Name Template" msgstr "" -#: lib/option.tcl:305 +#: lib/option.tcl:176 +msgid "Change Font" +msgstr "" + +#: lib/option.tcl:180 +#, tcl-format +msgid "Choose %s" +msgstr "" + +#: lib/option.tcl:186 +msgid "pt." +msgstr "" + +#: lib/option.tcl:200 +msgid "Preferences" +msgstr "" + +#: lib/option.tcl:235 msgid "Failed to completely save options:" msgstr "" +#: lib/remote.tcl:165 +msgid "Prune from" +msgstr "" + +#: lib/remote.tcl:170 +#, fuzzy +msgid "Fetch from" +msgstr "导入" + +#: lib/remote.tcl:213 +#, fuzzy +msgid "Push to" +msgstr "上传" + #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 msgid "Delete Remote Branch" msgstr "" @@ -1151,11 +1603,11 @@ msgstr "" msgid "From Repository" msgstr "版本树" -#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:118 +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 msgid "Remote:" msgstr "" -#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:133 +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 msgid "Arbitrary URL:" msgstr "" @@ -1181,6 +1633,14 @@ msgstr "" msgid "A branch is required for 'Merged Into'." msgstr "" +#: lib/remote_branch_delete.tcl:184 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" + #: lib/remote_branch_delete.tcl:189 #, tcl-format msgid "" @@ -1213,21 +1673,6 @@ msgstr "" msgid "Scanning %s..." msgstr "" -#: lib/remote.tcl:156 -#, tcl-format -msgid "Fetch from %s..." -msgstr "" - -#: lib/remote.tcl:166 -#, tcl-format -msgid "Prune from %s..." -msgstr "" - -#: lib/remote.tcl:200 -#, fuzzy, tcl-format -msgid "Push to %s..." -msgstr "上传..." - #: lib/shortcut.tcl:26 lib/shortcut.tcl:74 msgid "Cannot write script:" msgstr "" @@ -1236,49 +1681,89 @@ msgstr "" msgid "Cannot write icon:" msgstr "" -#: lib/status_bar.tcl:58 +#: lib/status_bar.tcl:83 #, tcl-format msgid "%s ... %*i of %*i %s (%3i%%)" msgstr "" +#: lib/transport.tcl:6 +#, fuzzy, tcl-format +msgid "fetch %s" +msgstr "导入" + #: lib/transport.tcl:7 #, tcl-format msgid "Fetching new changes from %s" msgstr "" +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "" + #: lib/transport.tcl:19 #, tcl-format msgid "Pruning tracking branches deleted from %s" msgstr "" +#: lib/transport.tcl:25 lib/transport.tcl:71 +#, tcl-format +msgid "push %s" +msgstr "" + #: lib/transport.tcl:26 #, tcl-format msgid "Pushing changes to %s" msgstr "" -#: lib/transport.tcl:68 +#: lib/transport.tcl:72 #, tcl-format msgid "Pushing %s %s to %s" msgstr "" -#: lib/transport.tcl:84 +#: lib/transport.tcl:89 #, fuzzy msgid "Push Branches" msgstr "分支" -#: lib/transport.tcl:115 +#: lib/transport.tcl:103 +#, fuzzy +msgid "Source Branches" +msgstr "当前分支:" + +#: lib/transport.tcl:120 #, fuzzy msgid "Destination Repository" msgstr "版本树" -#: lib/transport.tcl:153 +#: lib/transport.tcl:158 msgid "Transfer Options" msgstr "" -#: lib/transport.tcl:155 +#: lib/transport.tcl:160 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "" + +#: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" msgstr "" -#: lib/transport.tcl:159 +#: lib/transport.tcl:168 msgid "Include tags" msgstr "" + +#~ msgid "Add To Commit" +#~ msgstr "添加到本次提交" + +#~ msgid "Add Existing To Commit" +#~ msgstr "添加默认修改文件" + +#~ msgid "Unstaged Changes (Will Not Be Committed)" +#~ msgstr "不被提交的修改" + +#~ msgid "Add Existing" +#~ msgstr "添加默认修改文件" + +#, fuzzy +#~ msgid "Push to %s..." +#~ msgstr "上传..."