From fc703c209d415fe20ad5551465b5b68b8ab8b046 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sat, 1 Sep 2007 21:58:29 -0400 Subject: [PATCH 001/187] 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 002/187] 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 003/187] 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 004/187] 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 005/187] 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 006/187] 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 007/187] 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 008/187] 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 009/187] 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 010/187] 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 011/187] 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 012/187] 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 013/187] 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 014/187] 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 015/187] 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 016/187] 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 017/187] 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 018/187] 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 019/187] 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 020/187] 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 021/187] 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 12fb223326b561132d528bb010c6bdeaa828acd3 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 3 Sep 2007 18:54:14 -0400 Subject: [PATCH 022/187] 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 93716a62c07561467a5c6fb0e14c4897cf264e7e Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 10 Sep 2007 00:40:46 -0400 Subject: [PATCH 023/187] 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 024/187] 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 146d73a365c3a1c2e61e646a929a5168ffb2810c Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Wed, 12 Sep 2007 16:47:06 -0400 Subject: [PATCH 025/187] 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 026/187] 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 027/187] 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 c8c4854bec30b03b8e3a56a9b5e52ff358210140 Mon Sep 17 00:00:00 2001 From: Michele Ballabio Date: Thu, 13 Sep 2007 15:19:05 +0200 Subject: [PATCH 028/187] 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 029/187] 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 030/187] 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 d4278b51e362e7a0f0e7922db47552f8c6726986 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 20 Sep 2007 13:03:43 -0400 Subject: [PATCH 031/187] 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 032/187] 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 a4bee597134aee9883adba1e79be926a92f80367 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 21 Sep 2007 03:41:51 -0400 Subject: [PATCH 033/187] 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 034/187] 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 035/187] 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 354e114d7461c5f7f6bd4e0fb6d880bdd15a7823 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Sun, 23 Sep 2007 22:29:18 -0400 Subject: [PATCH 036/187] 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 40f86af01b061fbbd1e46d125280073322bf9f33 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Mon, 24 Sep 2007 08:26:07 -0400 Subject: [PATCH 037/187] 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 038/187] 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 039/187] 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 040/187] 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 041/187] 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 042/187] 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 043/187] 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 044/187] 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 045/187] 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 046/187] 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 047/187] 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 048/187] 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 1952aa1d5735ccbedd832620e43db3e03fc77088 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 2 Oct 2007 12:52:22 -0400 Subject: [PATCH 049/187] 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 281fdf6921abb11a90a890c09ccce61453050415 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 5 Oct 2007 08:35:41 -0400 Subject: [PATCH 050/187] 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 051/187] 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 052/187] 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 053/187] 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 054/187] 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 055/187] 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 056/187] 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 057/187] 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 058/187] 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 059/187] 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 060/187] 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 061/187] 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 062/187] 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 063/187] 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 064/187] 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 "上传..." From 4dcf4e0ed44183f846878a3845e8a71b61c34edb Mon Sep 17 00:00:00 2001 From: Michele Ballabio Date: Wed, 10 Oct 2007 15:04:16 +0200 Subject: [PATCH 065/187] git-gui: update Italian translation An Italian glossary was also added. Some changes: * commit (verb): (creare una) nuova revisione * commit (noun): revisione * checkout: attivazione * tracking branch: duplicato locale di ramo remoto * repository: archivio * some terms are used with more consistency Signed-off-by: Michele Ballabio Signed-off-by: Shawn O. Pearce --- po/glossary/it.po | 180 +++++++++++++++++ po/it.po | 493 +++++++++++++++++++++++----------------------- 2 files changed, 429 insertions(+), 244 deletions(-) create mode 100644 po/glossary/it.po diff --git a/po/glossary/it.po b/po/glossary/it.po new file mode 100644 index 0000000000..8e3d9a2f07 --- /dev/null +++ b/po/glossary/it.po @@ -0,0 +1,180 @@ +# Translation of git-gui glossary to Italian +# 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" +"POT-Creation-Date: 2007-10-05 22:30+0200\n" +"PO-Revision-Date: 2007-10-10 15:24+0200\n" +"Last-Translator: Michele Ballabio \n" +"Language-Team: Italian \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. "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 "" +"Traduzione italiana.\n" +"Altri SCM in italiano:\n" +" http://tortoisesvn.tigris.org/svn/tortoisesvn/trunk/Languages/Tortoise_it." +"po (username=guest, password empty),\n" +" http://tortoisecvs.cvs.sourceforge.net/tortoisecvs/po/TortoiseCVS/it_IT.po?" +"view=markup ,\n" +" http://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/locale/it_IT/rapidsvn.po " +"(username=guest, password empty)" + +#. "" +msgid "amend" +msgstr "correggere, correzione" + +#. "" +msgid "annotate" +msgstr "annotare, annotazione" + +#. "A 'branch' is an active line of development." +msgid "branch [noun]" +msgstr "ramo, diramazione, ramificazione" + +#. "" +msgid "branch [verb]" +msgstr "creare ramo, ramificare, diramare" + +#. "" +msgid "checkout [noun]" +msgstr "attivazione, checkout, revisione attiva, prelievo (TortoiseCVS)?" + +#. "The action of updating the working tree to a revision which was stored in the object database." +msgid "checkout [verb]" +msgstr "" +"attivare, effettuare un checkout, attivare revisione, prelevare (TortoiseCVS), " +"ritirare (TSVN)?" + +#. "" +msgid "clone [verb]" +msgstr "clonare" + +#. "A single point in the git history." +msgid "commit [noun]" +msgstr "revisione, commit, deposito (TortoiseCVS), invio (TSVN)?" + +#. "The action of storing a new snapshot of the project's state in the git history." +msgid "commit [verb]" +msgstr "" +"creare una nuova revisione, archiviare, effettuare un commit, depositare " +"(nel server), fare un deposito (TortoiseCVS), inviare (TSVN)?" + +#. "" +msgid "diff [noun]" +msgstr "differenza, confronto, comparazione, raffronto" + +#. "" +msgid "diff [verb]" +msgstr "confronta, mostra le differenze" + +#. "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 "fusione in 'fast-forward', fusione in avanti veloce" + +#. "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 "recuperare, prelevare, prendere da, recuperare (TSVN)" + +#. "A collection of files. The index is a stored version of your working tree." +msgid "index (in git-gui: staging area)" +msgstr "indice" + +#. "A successful merge results in the creation of a new commit representing the result of the merge." +msgid "merge [noun]" +msgstr "fusione, unione" + +#. "To bring the contents of another branch into the current branch." +msgid "merge [verb]" +msgstr "effettuare la fusione, unire, fondere, eseguire la fusione" + +#. "" +msgid "message" +msgstr "messaggio, commento" + +#. "" +msgid "prune" +msgstr "potatura" + +#. "Pulling a branch means to fetch it and merge it." +msgid "pull" +msgstr "" +"prendi (recupera) e fondi (unisci)? (in pratica una traduzione di fetch + " +"merge)" + +#. "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 "propaga" + +#. "" +msgid "redo" +msgstr "ripeti, rifai" + +#. "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 "archivio, repository, database? deposito (rapidsvn)?" + +#. "" +msgid "reset" +msgstr "ripristinare, annullare, azzerare, ripristinare" + +#. "" +msgid "revert" +msgstr "" +"annullare, inverti (rapidsvn), ritorna allo stato precedente, annulla le " +"modifiche della revisione" + +#. "A particular state of files and directories which was stored in the object database." +msgid "revision" +msgstr "revisione (TortoiseSVN)" + +#. "" +msgid "sign off" +msgstr "sign off, firma" + +#. "" +msgid "staging area" +msgstr "" +"area di preparazione, zona di preparazione, modifiche in preparazione? " +"modifiche in allestimento?" + +#. "" +msgid "status" +msgstr "stato" + +#. "A ref pointing to a tag or commit object" +msgid "tag [noun]" +msgstr "etichetta, etichettatura (TortoiseCVS)" + +#. "" +msgid "tag [verb]" +msgstr "etichettare" + +#. "A regular git branch that is used to follow changes from another repository." +msgid "tracking branch" +msgstr "" +"duplicato locale di ramo remoto, ramo in 'tracking', ramo inseguitore? ramo di {inseguimento,allineamento," +"rilevamento,puntamento}?" + +#. "" +msgid "undo" +msgstr "annulla" + +#. "" +msgid "update" +msgstr "aggiornamento, aggiornare" + +#. "" +msgid "verify" +msgstr "verifica, verificare" + +#. "The tree of actual checked out files." +msgid "working copy, working tree" +msgstr "directory di lavoro, copia di lavoro" diff --git a/po/it.po b/po/it.po index d959019aab..7668414104 100644 --- a/po/it.po +++ b/po/it.po @@ -9,8 +9,8 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-10-10 04:04-0400\n" -"PO-Revision-Date: 2007-08-09 00:27+0200\n" +"POT-Creation-Date: 2007-10-10 14:42+0200\n" +"PO-Revision-Date: 2007-10-10 15:27+0200\n" "Last-Translator: Paolo Ciarrocchi \n" "Language-Team: Italian \n" "MIME-Version: 1.0\n" @@ -20,12 +20,12 @@ msgstr "" #: 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 "" +msgstr "git-gui: errore grave" #: git-gui.sh:595 -#, fuzzy, tcl-format +#, tcl-format msgid "Invalid font specified in %s:" -msgstr "Caratteri non validi specificati nella gui.%s:" +msgstr "Caratteri non validi specificati in %s:" #: git-gui.sh:620 msgid "Main Font" @@ -56,7 +56,7 @@ msgid "" msgstr "" "La versione di GIT non può essere determinata.\n" "\n" -"%s sostiene che la versione è '%s'.\n" +"%s riporta che la versione è '%s'.\n" "\n" "%s richiede almeno Git 1.5.0 o superiore.\n" "\n" @@ -67,9 +67,8 @@ msgid "Git directory not found:" msgstr "Non trovo la directory di git: " #: git-gui.sh:860 -#, fuzzy msgid "Cannot move to top of working directory:" -msgstr "Impossibile usare una .git directory strana:" +msgstr "Impossibile spostarsi sulla directory principale del progetto:" #: git-gui.sh:867 msgid "Cannot use funny .git directory:" @@ -97,23 +96,23 @@ msgstr "Non modificato" #: git-gui.sh:1527 msgid "Modified, not staged" -msgstr "Modificato, non pronto per il commit" +msgstr "Modificato, non preparato per una nuova revisione" #: git-gui.sh:1528 git-gui.sh:1533 msgid "Staged for commit" -msgstr "Pronto per il commit" +msgstr "Preparato per una nuova revisione" #: git-gui.sh:1529 git-gui.sh:1534 msgid "Portions staged for commit" -msgstr "Parti pronte per il commit" +msgstr "Parti preparate per una nuova revisione" #: git-gui.sh:1530 git-gui.sh:1535 msgid "Staged for commit, missing" -msgstr "Pronto per il commit, mancante" +msgstr "Preparato per una nuova revisione, mancante" #: git-gui.sh:1532 msgid "Untracked, not staged" -msgstr "Non tracciato, non pronto per il commit" +msgstr "Non tracciato, non preparato per una nuova revisione" #: git-gui.sh:1537 msgid "Missing" @@ -121,11 +120,11 @@ msgstr "Mancante" #: git-gui.sh:1538 msgid "Staged for removal" -msgstr "Pronto per la rimozione" +msgstr "Preparato per la rimozione" #: git-gui.sh:1539 msgid "Staged for removal, still present" -msgstr "Pronto alla rimozione, ancora presente" +msgstr "Preparato alla rimozione, ancora presente" #: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544 msgid "Requires merge resolution" @@ -159,18 +158,16 @@ msgid "Branch" msgstr "Ramo" #: git-gui.sh:1794 lib/choose_rev.tcl:547 -#, fuzzy msgid "Commit@@noun" -msgstr "Commit" +msgstr "Revisione" #: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "Fusione (Merge)" #: git-gui.sh:1798 lib/choose_rev.tcl:556 -#, fuzzy msgid "Remote" -msgstr "Remoto:" +msgstr "Remoto" #: git-gui.sh:1807 msgid "Browse Current Branch's Files" @@ -200,15 +197,15 @@ msgstr "Visualizza la cronologia di %s" #: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" -msgstr "Statistiche del database" +msgstr "Statistiche dell'archivio" #: git-gui.sh:1837 lib/database.tcl:34 msgid "Compress Database" -msgstr "Comprimi il database" +msgstr "Comprimi l'archivio" #: git-gui.sh:1840 msgid "Verify Database" -msgstr "Verifica il database" +msgstr "Verifica l'archivio" #: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9 #: lib/shortcut.tcl:45 lib/shortcut.tcl:84 @@ -255,7 +252,7 @@ msgstr "Crea..." #: git-gui.sh:1902 msgid "Checkout..." -msgstr "Checkout..." +msgstr "Attiva..." #: git-gui.sh:1908 msgid "Rename..." @@ -271,11 +268,11 @@ msgstr "Ripristina..." #: git-gui.sh:1930 git-gui.sh:2313 msgid "New Commit" -msgstr "Nuovo commit" +msgstr "Nuova revisione" #: git-gui.sh:1938 git-gui.sh:2320 msgid "Amend Last Commit" -msgstr "Correggi l'ultimo commit" +msgstr "Correggi l'ultima revisione" #: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99 msgid "Rescan" @@ -283,15 +280,15 @@ msgstr "Analizza nuovamente" #: git-gui.sh:1953 msgid "Stage To Commit" -msgstr "Prepara per il commit" +msgstr "Prepara per una nuova revisione" #: git-gui.sh:1958 msgid "Stage Changed Files To Commit" -msgstr "Prepara per il commit i file modificati" +msgstr "Prepara i file modificati per una nuova revisione" #: git-gui.sh:1964 msgid "Unstage From Commit" -msgstr "Non pronto per il commit" +msgstr "Annulla preparazione" #: git-gui.sh:1969 lib/index.tcl:352 msgid "Revert Changes" @@ -302,17 +299,16 @@ msgid "Sign Off" msgstr "Sign Off" #: git-gui.sh:1980 git-gui.sh:2296 -#, fuzzy msgid "Commit@@verb" -msgstr "Commit" +msgstr "Nuova revisione" #: git-gui.sh:1991 msgid "Local Merge..." -msgstr "Fusione locale" +msgstr "Fusione locale..." #: git-gui.sh:1996 msgid "Abort Merge..." -msgstr "Interrompi fusione" +msgstr "Interrompi fusione..." #: git-gui.sh:2008 msgid "Push..." @@ -330,7 +326,7 @@ msgstr "Informazioni su %s" #: git-gui.sh:2026 msgid "Preferences..." -msgstr "" +msgstr "Preferenze..." #: git-gui.sh:2034 git-gui.sh:2558 msgid "Options..." @@ -348,20 +344,20 @@ msgstr "Documentazione sul web" #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" +"errore grave: impossibile effettuare lo stat del path %s: file o directory " +"non trovata" #: git-gui.sh:2198 msgid "Current Branch:" msgstr "Ramo attuale:" #: git-gui.sh:2219 -#, fuzzy msgid "Staged Changes (Will Commit)" -msgstr "Modifiche preparate (ne verrĂ  effettuato il commit)" +msgstr "Modifiche preparate (saranno nella nuova revisione)" #: git-gui.sh:2239 -#, fuzzy msgid "Unstaged Changes" -msgstr "Prepara modificati" +msgstr "Modifiche non preparate" #: git-gui.sh:2286 msgid "Stage Changed" @@ -373,15 +369,15 @@ msgstr "Propaga (Push)" #: git-gui.sh:2332 msgid "Initial Commit Message:" -msgstr "Messaggio di commit iniziale:" +msgstr "Messaggio di revisione iniziale:" #: git-gui.sh:2333 msgid "Amended Commit Message:" -msgstr "Messaggio di commit corretto:" +msgstr "Messaggio di revisione corretto:" #: git-gui.sh:2334 msgid "Amended Initial Commit Message:" -msgstr "Messaggio iniziale di commit corretto:" +msgstr "Messaggio iniziale di revisione corretto:" #: git-gui.sh:2335 msgid "Amended Merge Commit Message:" @@ -393,7 +389,7 @@ msgstr "Messaggio di fusione:" #: git-gui.sh:2337 msgid "Commit Message:" -msgstr "Messaggio di commit:" +msgstr "Messaggio di revisione:" #: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71 msgid "Copy All" @@ -429,11 +425,11 @@ msgstr "Mostra piĂą contesto" #: git-gui.sh:2565 msgid "Unstage Hunk From Commit" -msgstr "Sezione non pronta per il commit" +msgstr "Sezione non preparata per una nuova revisione" #: git-gui.sh:2567 msgid "Stage Hunk For Commit" -msgstr "Prepara sezione per il commit" +msgstr "Prepara sezione per una nuova revisione" #: git-gui.sh:2586 msgid "Initializing..." @@ -449,6 +445,12 @@ msgid "" "by %s:\n" "\n" msgstr "" +"Possibili problemi con le variabili d'ambiente.\n" +"\n" +"Le seguenti variabili d'ambiente saranno probabilmente\n" +"ignorate da tutti i sottoprocessi di Git avviati\n" +"da %s:\n" +"\n" #: git-gui.sh:2707 msgid "" @@ -456,6 +458,9 @@ msgid "" "This is due to a known issue with the\n" "Tcl binary distributed by Cygwin." msgstr "" +"\n" +"Ciò è dovuto a un problema conosciuto\n" +"causato dall'eseguibile Tcl distribuito da Cygwin." #: git-gui.sh:2712 #, tcl-format @@ -467,6 +472,11 @@ msgid "" "user.email settings into your personal\n" "~/.gitconfig file.\n" msgstr "" +"\n" +"\n" +"Una buona alternativa a %s\n" +"consiste nell'assegnare valori alle variabili di configurazione\n" +"user.name e user.email nel tuo file ~/.gitconfig personale.\n" #: lib/about.tcl:25 msgid "git-gui - a graphical user interface for Git." @@ -478,11 +488,11 @@ msgstr "Mostra file" #: lib/blame.tcl:81 msgid "Commit:" -msgstr "Commit:" +msgstr "Revisione:" #: lib/blame.tcl:249 msgid "Copy Commit" -msgstr "Copia commit" +msgstr "Copia revisione" #: lib/blame.tcl:369 #, tcl-format @@ -491,58 +501,55 @@ msgstr "Lettura di %s..." #: lib/blame.tcl:473 msgid "Loading copy/move tracking annotations..." -msgstr "" +msgstr "Caricamento annotazioni per copie/spostamenti..." #: lib/blame.tcl:493 msgid "lines annotated" -msgstr "" +msgstr "linee annotate" #: lib/blame.tcl:674 msgid "Loading original location annotations..." -msgstr "" +msgstr "Caricamento annotazioni per posizione originaria..." #: lib/blame.tcl:677 msgid "Annotation complete." -msgstr "" +msgstr "Annotazione completata." #: lib/blame.tcl:731 -#, fuzzy msgid "Loading annotation..." -msgstr "Caricamento %s..." +msgstr "Caricamento annotazioni..." #: lib/blame.tcl:787 msgid "Author:" -msgstr "" +msgstr "Autore:" #: lib/blame.tcl:791 -#, fuzzy msgid "Committer:" -msgstr "Commit:" +msgstr "Revisione creata da:" #: lib/blame.tcl:796 msgid "Original File:" -msgstr "" +msgstr "File originario:" #: lib/blame.tcl:910 msgid "Originally By:" -msgstr "" +msgstr "In origine da:" #: lib/blame.tcl:916 -#, fuzzy msgid "In File:" -msgstr "File:" +msgstr "Nel file:" #: lib/blame.tcl:921 msgid "Copied Or Moved Here By:" -msgstr "" +msgstr "Copiato o spostato qui da:" #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" -msgstr "Checkout ramo" +msgstr "Attiva ramo" #: lib/branch_checkout.tcl:23 msgid "Checkout" -msgstr "Checkout" +msgstr "Attiva" #: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 #: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 @@ -561,7 +568,7 @@ msgstr "Opzioni" #: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 msgid "Fetch Tracking Branch" -msgstr "Preleva ramo in 'tracking'" +msgstr "Recupera duplicato locale di ramo remoto" #: lib/branch_checkout.tcl:44 msgid "Detach From Local Branch" @@ -589,7 +596,7 @@ msgstr "Nome:" #: lib/branch_create.tcl:58 msgid "Match Tracking Branch Name" -msgstr "Appaia nome del ramo in 'tracking'" +msgstr "Appaia nome del duplicato locale di ramo remoto" #: lib/branch_create.tcl:66 msgid "Starting Revision" @@ -613,16 +620,17 @@ msgstr "Ripristina" #: lib/branch_create.tcl:97 msgid "Checkout After Creation" -msgstr "Checkout dopo la creazione" +msgstr "Attiva dopo la creazione" #: lib/branch_create.tcl:131 msgid "Please select a tracking branch." -msgstr "Scegliere un ramo in 'tracking'" +msgstr "Scegliere un duplicato locale di ramo remoto" #: lib/branch_create.tcl:140 #, tcl-format msgid "Tracking branch %s is not a branch in the remote repository." -msgstr "Il ramo in 'tracking' %s non è un ramo nell'archivio remoto." +msgstr "" +"Il duplicato locale del ramo remoto %s non è un ramo nell'archivio remoto." #: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 msgid "Please supply a branch name." @@ -651,7 +659,7 @@ 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)." +msgstr "Sempre (Non effettuare verifiche di fusione)." #: lib/branch_delete.tcl:103 #, tcl-format @@ -664,7 +672,7 @@ msgid "" "\n" " Delete the selected branches?" msgstr "" -"Prelevare rami cancellati può essere complicato. \n" +"Ricomporre rami cancellati può essere complicato. \n" "\n" " Eliminare i rami selezionati?" @@ -700,12 +708,12 @@ 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Ă " +msgstr "Il ramo '%s' esiste giĂ ." #: lib/branch_rename.tcl:117 #, tcl-format msgid "Failed to rename '%s'." -msgstr "Cambiamento nome '%s' fallito." +msgstr "Impossibile rinominare '%s'." #: lib/browser.tcl:17 msgid "Starting..." @@ -742,7 +750,7 @@ msgstr "Recupero %s da %s" #: lib/checkout_op.tcl:127 #, tcl-format msgid "fatal: Cannot resolve %s" -msgstr "" +msgstr "errore grave: impossibile risolvere %s" #: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" @@ -778,7 +786,7 @@ 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." +msgstr "L'area di preparazione per una nuova revisione (indice) è giĂ  bloccata." #: lib/checkout_op.tcl:266 msgid "" @@ -789,23 +797,23 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"L'ultimo stato analizzato non corrisponde allo stato del repository.\n" +"L'ultimo stato analizzato non corrisponde allo stato dell'archivio.\n" "\n" -"Un altro programma Git ha modificato questo repository dall'ultima analisi. " +"Un altro programma Git ha modificato questo archivio 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:322 -#, fuzzy, tcl-format +#, tcl-format msgid "Updating working directory to '%s'..." -msgstr "Nessuna directory di lavoro" +msgstr "Aggiornamento della directory di lavoro a '%s' in corso..." #: 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)." +msgstr "Attivazione di '%s' fallita (richiesta una fusione a livello file)." #: lib/checkout_op.tcl:354 msgid "File level merge required." @@ -825,22 +833,23 @@ 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 'Questa " +"revisione attiva staccata'." #: lib/checkout_op.tcl:446 -#, fuzzy, tcl-format +#, tcl-format msgid "Checked out '%s'." -msgstr "Checkout..." +msgstr "Attivazione di '%s' completata." #: 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:" +msgstr "" +"Ripristinare '%s' a '%s' comporterĂ  la perdita delle seguenti revisioni:" #: lib/checkout_op.tcl:500 msgid "Recovering lost commits may not be easy." -msgstr "Prelevare i commit perduti potrebbe non essere semplice." +msgstr "Ricomporre le revisioni perdute potrebbe non essere semplice." #: lib/checkout_op.tcl:505 #, tcl-format @@ -870,130 +879,125 @@ msgstr "" "Questo non sarebbe dovuto succedere. %s ora terminerĂ  senza altre azioni." #: lib/choose_font.tcl:39 -#, fuzzy msgid "Select" -msgstr "Seleziona tutto" +msgstr "Seleziona" #: lib/choose_font.tcl:53 msgid "Font Family" -msgstr "" +msgstr "Famiglia di caratteri" #: lib/choose_font.tcl:73 -#, fuzzy msgid "Font Size" -msgstr "Diminuisci dimensione caratteri" +msgstr "Dimensione caratteri" #: lib/choose_font.tcl:90 msgid "Font Example" -msgstr "" +msgstr "Esempio caratteri" #: lib/choose_font.tcl:101 msgid "" "This is example text.\n" "If you like this text, it can be your font." msgstr "" +"Questo è un testo d'esempio.\n" +"Se ti piace questo testo, può essere il carattere giusto." #: lib/choose_repository.tcl:25 msgid "Git Gui" -msgstr "" +msgstr "Git Gui" #: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 -#, fuzzy msgid "Create New Repository" -msgstr "Da archivio" +msgstr "Crea nuovo archivio" #: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 -#, fuzzy msgid "Clone Existing Repository" -msgstr "Archivio di destinazione" +msgstr "Clona archivio esistente" #: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 -#, fuzzy msgid "Open Existing Repository" -msgstr "Archivio di destinazione" +msgstr "Apri archivio esistente" #: lib/choose_repository.tcl:91 msgid "Next >" -msgstr "" +msgstr "Successivo >" #: lib/choose_repository.tcl:152 -#, fuzzy, tcl-format +#, tcl-format msgid "Location %s already exists." -msgstr "Il ramo '%s' esiste giĂ " +msgstr "La posizione %s esiste giĂ ." #: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 #: lib/choose_repository.tcl:172 -#, fuzzy, tcl-format +#, tcl-format msgid "Failed to create repository %s:" -msgstr "Fallimento nel salvataggio completo delle opzioni:" +msgstr "Impossibile creare l'archivio %s:" #: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 msgid "Directory:" -msgstr "" +msgstr "Directory:" #: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 #: lib/choose_repository.tcl:834 -#, fuzzy msgid "Git Repository" -msgstr "Archivio" +msgstr "Archivio Git" #: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260 -#, fuzzy, tcl-format +#, tcl-format msgid "Directory %s already exists." -msgstr "Il ramo '%s' esiste giĂ " +msgstr "La directory %s esiste giĂ ." #: lib/choose_repository.tcl:265 -#, fuzzy, tcl-format +#, tcl-format msgid "File %s already exists." -msgstr "Il ramo '%s' esiste giĂ " +msgstr "Il file %s esiste giĂ ." #: lib/choose_repository.tcl:286 -#, fuzzy msgid "Clone" -msgstr "Chiudi" +msgstr "Clona" #: lib/choose_repository.tcl:299 msgid "URL:" -msgstr "" +msgstr "URL:" #: lib/choose_repository.tcl:319 msgid "Clone Type:" -msgstr "" +msgstr "Tipo di clone:" #: lib/choose_repository.tcl:325 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" -msgstr "" +msgstr "Standard (veloce, semi-ridondante, con hardlink)" #: lib/choose_repository.tcl:331 msgid "Full Copy (Slower, Redundant Backup)" -msgstr "" +msgstr "Copia completa (piĂą lento, backup ridondante)" #: lib/choose_repository.tcl:337 msgid "Shared (Fastest, Not Recommended, No Backup)" -msgstr "" +msgstr "Shared (il piĂą veloce, non raccomandato, nessun backup)" #: 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 +#, tcl-format msgid "Not a Git repository: %s" -msgstr "Nessun archivio selezionato." +msgstr "%s non è un archivio Git." #: lib/choose_repository.tcl:405 msgid "Standard only available for local repository." -msgstr "" +msgstr "Standard è disponibile solo per archivi locali." #: lib/choose_repository.tcl:409 msgid "Shared only available for local repository." -msgstr "" +msgstr "Shared è disponibile solo per archivi locali." #: lib/choose_repository.tcl:439 msgid "Failed to configure origin" -msgstr "" +msgstr "Impossibile configurare origin" #: lib/choose_repository.tcl:451 msgid "Counting objects" -msgstr "" +msgstr "Calcolo oggetti" #: lib/choose_repository.tcl:452 msgid "buckets" @@ -1002,116 +1006,117 @@ msgstr "" #: lib/choose_repository.tcl:476 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" -msgstr "" +msgstr "Impossibile copiare oggetti/info/alternate: %s" #: lib/choose_repository.tcl:512 -#, fuzzy, tcl-format +#, tcl-format msgid "Nothing to clone from %s." -msgstr "Recupero nuove modifiche da %s" +msgstr "Niente da clonare 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 "" +msgstr "Il ramo 'master' non è stato inizializzato." #: lib/choose_repository.tcl:527 msgid "Hardlinks are unavailable. Falling back to copying." -msgstr "" +msgstr "Impossibile utilizzare gli hardlink. Si ricorrerĂ  alla copia." #: lib/choose_repository.tcl:539 -#, fuzzy, tcl-format +#, tcl-format msgid "Cloning from %s" -msgstr "Recupero %s da %s" +msgstr "Clonazione da %s" #: lib/choose_repository.tcl:570 -#, fuzzy msgid "Copying objects" -msgstr "Compressione del database in corso" +msgstr "Copia degli oggetti" #: lib/choose_repository.tcl:571 msgid "KiB" -msgstr "" +msgstr "KiB" #: lib/choose_repository.tcl:595 #, tcl-format msgid "Unable to copy object: %s" -msgstr "" +msgstr "Impossibile copiare oggetto: %s" #: lib/choose_repository.tcl:605 msgid "Linking objects" -msgstr "" +msgstr "Collegamento oggetti" #: lib/choose_repository.tcl:606 msgid "objects" -msgstr "" +msgstr "oggetti" #: lib/choose_repository.tcl:614 #, tcl-format msgid "Unable to hardlink object: %s" -msgstr "" +msgstr "Hardlink impossibile sull'oggetto: %s" #: lib/choose_repository.tcl:669 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" +"Impossibile recuperare rami e oggetti. Controllare i dettagli forniti dalla " +"console." #: lib/choose_repository.tcl:680 msgid "Cannot fetch tags. See console output for details." msgstr "" +"Impossibile recuperare le etichette. Controllare i dettagli forniti dalla " +"console." #: lib/choose_repository.tcl:704 msgid "Cannot determine HEAD. See console output for details." msgstr "" +"Impossibile determinare HEAD. Controllare i dettagli forniti dalla console." #: lib/choose_repository.tcl:713 #, tcl-format msgid "Unable to cleanup %s" -msgstr "" +msgstr "Impossibile ripulire %s" #: lib/choose_repository.tcl:719 -#, fuzzy msgid "Clone failed." -msgstr "Interruzione fallita." +msgstr "Clonazione fallita." #: lib/choose_repository.tcl:726 msgid "No default branch obtained." -msgstr "" +msgstr "Non è stato trovato un ramo predefinito." #: lib/choose_repository.tcl:737 #, tcl-format msgid "Cannot resolve %s as a commit." -msgstr "" +msgstr "Impossibile risolvere %s come una revisione." #: lib/choose_repository.tcl:749 -#, fuzzy msgid "Creating working directory" -msgstr "Nessuna directory di lavoro" +msgstr "Creazione directory di lavoro" #: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 #: lib/index.tcl:149 msgid "files" -msgstr "" +msgstr "file" #: lib/choose_repository.tcl:779 msgid "Initial file checkout failed." -msgstr "" +msgstr "Attivazione iniziale impossibile." #: lib/choose_repository.tcl:795 msgid "Open" -msgstr "" +msgstr "Apri" #: lib/choose_repository.tcl:805 -#, fuzzy msgid "Repository:" -msgstr "Archivio" +msgstr "Archivio:" #: lib/choose_repository.tcl:854 -#, fuzzy, tcl-format +#, tcl-format msgid "Failed to open repository %s:" -msgstr "Fallimento nel salvataggio completo delle opzioni:" +msgstr "Impossibile accedere all'archivio %s:" #: lib/choose_rev.tcl:53 msgid "This Detached Checkout" -msgstr "Questo checkout staccato" +msgstr "Questa revisione attiva staccata" #: lib/choose_rev.tcl:60 msgid "Revision Expression:" @@ -1123,7 +1128,7 @@ msgstr "Ramo locale" #: lib/choose_rev.tcl:79 msgid "Tracking Branch" -msgstr "Ramo in 'tracking'" +msgstr "Duplicato locale di ramo remoto" #: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 msgid "Tag" @@ -1144,11 +1149,11 @@ msgstr "L'espressione di revisione è vuota." #: lib/choose_rev.tcl:530 msgid "Updated" -msgstr "" +msgstr "Aggiornato" #: lib/choose_rev.tcl:558 msgid "URL" -msgstr "" +msgstr "URL" #: lib/commit.tcl:9 msgid "" @@ -1159,8 +1164,8 @@ msgid "" msgstr "" "Non c'è niente da correggere.\n" "\n" -"Stai per creare il commit iniziale. Non esiste un commit precedente da " -"correggere.\n" +"Stai per creare la revisione iniziale. Non esiste una revisione " +"precedente da correggere.\n" #: lib/commit.tcl:18 msgid "" @@ -1173,12 +1178,12 @@ 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" +"completata. Non puoi correggere la revisione precedente a meno che prima tu " +"non interrompa l'operazione di fusione in corso.\n" #: lib/commit.tcl:49 msgid "Error loading commit data for amend:" -msgstr "Errore durante il caricamento dei dati da correggere:" +msgstr "Errore durante il caricamento dei dati della revisione da correggere:" #: lib/commit.tcl:76 msgid "Unable to obtain your identity:" @@ -1197,10 +1202,11 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"L'ultimo stato analizzato non corrisponde allo stato del repository.\n" +"L'ultimo stato analizzato non corrisponde allo stato dell'archivio.\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" +"Un altro programma Git ha modificato questo archivio dall'ultima analisi. " +"Bisogna effettuare una nuova analisi prima di poter creare una nuova " +"revisione.\n" "\n" "La nuova analisi comincerĂ  ora.\n" @@ -1212,10 +1218,10 @@ msgid "" "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" +"Non è possibile creare una revisione con file non sottoposti a fusione.\n" "\n" "Il file %s presenta dei conflitti. Devi risolverli e preparare il file per " -"il commit prima di effettuare questa azione.\n" +"creare una nuova revisione prima di effettuare questa azione.\n" #: lib/commit.tcl:162 #, tcl-format @@ -1226,7 +1232,7 @@ msgid "" msgstr "" "Stato di file %s sconosciuto.\n" "\n" -"Non si può effettuare il commit del file %s con questo programma.\n" +"Questo programma non può creare una revisione contenente il file %s.\n" #: lib/commit.tcl:170 msgid "" @@ -1234,9 +1240,9 @@ msgid "" "\n" "You must stage at least 1 file before you can commit.\n" msgstr "" -"Nessuna modifica per la quale effettuare il commit.\n" +"Nessuna modifica per la nuova revisione.\n" "\n" -"Devi preparare per il commit almeno 1 file prima di effettuare questa " +"Devi preparare per una nuova revisione almeno 1 file prima di effettuare questa " "operazione.\n" #: lib/commit.tcl:183 @@ -1249,13 +1255,13 @@ msgid "" "- Second line: Blank\n" "- Remaining lines: Describe why this change is good.\n" msgstr "" -"Bisogna fornire un messaggio di commit.\n" +"Bisogna fornire un messaggio di revisione.\n" "\n" -"Un buon messaggio di commit ha il seguente formato:\n" +"Un buon messaggio di revisione ha il seguente formato:\n" "\n" "- Prima linea: descrivi in una frase ciò che hai fatto.\n" "- Seconda linea: vuota.\n" -"- Terza linea: spiga a cosa serve la tua modifica.\n" +"- Terza linea: spiega a cosa serve la tua modifica.\n" #: lib/commit.tcl:257 msgid "write-tree failed:" @@ -1264,7 +1270,7 @@ msgstr "write-tree fallito:" #: lib/commit.tcl:275 #, tcl-format msgid "Commit %s appears to be corrupt" -msgstr "" +msgstr "La revisione %s sembra essere corrotta" #: lib/commit.tcl:279 msgid "" @@ -1274,20 +1280,20 @@ msgid "" "\n" "A rescan will be automatically started now.\n" msgstr "" -"Nessuna modifica pronta per il commit.\n" +"Nessuna modifica per la nuova revisione.\n" "\n" -"Questo commit non modifica alcun file e non effettua alcuna fusione.\n" +"Questa revisione non modifica alcun file e non effettua alcuna fusione.\n" "\n" "Si procederĂ  subito ad una nuova analisi.\n" #: lib/commit.tcl:286 msgid "No changes to commit." -msgstr "Nessuna modifica pronta per il commit." +msgstr "Nessuna modifica per la nuova revisione." #: lib/commit.tcl:303 #, tcl-format msgid "warning: Tcl does not support encoding '%s'." -msgstr "" +msgstr "attenzione: Tcl non supporta la codifica '%s'." #: lib/commit.tcl:317 msgid "commit-tree failed:" @@ -1300,7 +1306,7 @@ msgstr "update-ref fallito:" #: lib/commit.tcl:430 #, tcl-format msgid "Created commit %s: %s" -msgstr "Creato commit %s: %s" +msgstr "Creata revisione %s: %s" #: lib/console.tcl:57 msgid "Working... please wait..." @@ -1344,7 +1350,7 @@ msgstr "File inutili" #: lib/database.tcl:72 msgid "Compressing the object database" -msgstr "Compressione del database in corso" +msgstr "Compressione dell'archivio in corso" #: lib/database.tcl:83 msgid "Verifying the object database with fsck-objects" @@ -1360,11 +1366,17 @@ msgid "" "\n" "Compress the database now?" msgstr "" +"Questo archivio attualmente ha circa %i oggetti slegati.\n" +"\n" +"Per mantenere buone prestazioni si raccomanda di comprimere l'archivio " +"quando sono presenti piĂą di %i oggetti slegati.\n" +"\n" +"Comprimere l'archivio ora?" #: lib/date.tcl:25 -#, fuzzy, tcl-format +#, tcl-format msgid "Invalid date from Git: %s" -msgstr "Revisione non valida: %s" +msgstr "Git ha restituito una data non valida: %s" #: lib/diff.tcl:42 #, tcl-format @@ -1390,14 +1402,14 @@ msgstr "" "potrebbero avere lo stesso stato." #: lib/diff.tcl:81 -#, fuzzy, tcl-format +#, tcl-format msgid "Loading diff of %s..." -msgstr "Caricamento %s..." +msgstr "Caricamento delle differenze di %s..." #: lib/diff.tcl:114 lib/diff.tcl:184 #, tcl-format msgid "Unable to display %s" -msgstr "" +msgstr "Impossibile visualizzare %s" #: lib/diff.tcl:115 msgid "Error loading file:" @@ -1405,11 +1417,11 @@ msgstr "Errore nel caricamento del file:" #: lib/diff.tcl:122 msgid "Git Repository (subproject)" -msgstr "" +msgstr "Archivio Git (sottoprogetto)" #: lib/diff.tcl:134 msgid "* Binary file (not showing content)." -msgstr "" +msgstr "* File binario (il contenuto non sarĂ  mostrato)." #: lib/diff.tcl:185 msgid "Error loading diff:" @@ -1417,11 +1429,11 @@ msgstr "Errore nel caricamento delle differenze:" #: lib/diff.tcl:302 msgid "Failed to unstage selected hunk." -msgstr "La sezione scelta è ancora pronta per il commit." +msgstr "La sezione scelta è ancora pronta per una nuova revisione." #: lib/diff.tcl:309 msgid "Failed to stage selected hunk." -msgstr "La sezione scelta non è ancora pronta per il commit." +msgstr "Impossibile preparare la sezione scelta per una nuova revisione." #: lib/error.tcl:12 lib/error.tcl:102 msgid "error" @@ -1429,21 +1441,21 @@ msgstr "errore" #: lib/error.tcl:28 msgid "warning" -msgstr "avviso" +msgstr "attenzione" #: lib/error.tcl:81 msgid "You must correct the above errors before committing." -msgstr "Bisogna correggere gli errori suddetti prima di effettuare un commit." +msgstr "Bisogna correggere gli errori suddetti prima di creare una nuova revisione." #: lib/index.tcl:241 -#, fuzzy, tcl-format +#, tcl-format msgid "Unstaging %s from commit" -msgstr "Non pronto per il commit" +msgstr "%s non farĂ  parte della prossima revisione" #: lib/index.tcl:285 -#, fuzzy, tcl-format +#, tcl-format msgid "Adding %s" -msgstr "Lettura di %s..." +msgstr "Aggiunta di %s in corso" #: lib/index.tcl:340 #, tcl-format @@ -1458,7 +1470,8 @@ msgstr "Annullare le modifiche in questi %i file?" #: 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." +"Tutte le modifiche non preparate per una nuova revisione saranno perse per " +"sempre." #: lib/index.tcl:351 msgid "Do Nothing" @@ -1472,8 +1485,8 @@ msgid "" msgstr "" "Non posso effettuare fusioni durante una correzione.\n" "\n" -"Bisogna finire di correggere questo commit prima di iniziare una qualunque " -"fusione.\n" +"Bisogna finire di correggere questa revisione prima di iniziare una " +"qualunque fusione.\n" #: lib/merge.tcl:27 msgid "" @@ -1484,9 +1497,9 @@ msgid "" "\n" "The rescan will be automatically started now.\n" msgstr "" -"L'ultimo stato analizzato non corrisponde allo stato del repository.\n" +"L'ultimo stato analizzato non corrisponde allo stato dell'archivio.\n" "\n" -"Un altro programma Git ha modificato questo repository dall'ultima analisi." +"Un altro programma Git ha modificato questo archivio dall'ultima analisi." "Bisogna effettuare una nuova analisi prima di poter effettuare una fusione.\n" "\n" "La nuova analisi comincerĂ  ora.\n" @@ -1505,8 +1518,8 @@ msgstr "" "\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 " +"Bisogna risolvere i conflitti, preparare il file per una nuova revisione ed " +"infine crearla per completare la fusione corrente. Solo a questo punto " "potrai iniziare un'altra fusione.\n" #: lib/merge.tcl:54 @@ -1523,9 +1536,9 @@ msgstr "" "\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" +"Bisogna completare la creazione della revisione 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 @@ -1562,7 +1575,7 @@ msgid "" msgstr "" "Interruzione impossibile durante una correzione.\n" "\n" -"Bisogna finire di correggere questo commit.\n" +"Bisogna finire di correggere questa revisione.\n" #: lib/merge.tcl:222 msgid "" @@ -1575,7 +1588,7 @@ msgstr "" "Interrompere fusione?\n" "\n" "L'interruzione della fusione corrente causerĂ  la perdita di *TUTTE* le " -"modifiche non ancora presenti nei commit.\n" +"modifiche non ancora presenti nell'archivio.\n" "\n" "Continuare con l'interruzione della fusione corrente?" @@ -1587,10 +1600,10 @@ msgid "" "\n" "Continue with resetting the current changes?" msgstr "" -"Annullare le modifiche?\n" +"Ripristinare la revisione corrente e annullare le modifiche?\n" "\n" "L'annullamento delle modifiche causerĂ  la perdita di *TUTTE* le modifiche " -"non ancora presenti nei commit.\n" +"non ancora presenti nell'archivio.\n" "\n" "Continuare con l'annullamento delle modifiche correnti?" @@ -1617,11 +1630,11 @@ msgstr "Salva" #: lib/option.tcl:96 #, tcl-format msgid "%s Repository" -msgstr "%s archivio" +msgstr "Archivio di %s" #: lib/option.tcl:97 msgid "Global (All Repositories)" -msgstr "Globale (Tutti i repository)" +msgstr "Tutti gli archivi" #: lib/option.tcl:103 msgid "User Name" @@ -1633,11 +1646,11 @@ msgstr "Indirizzo Email" #: lib/option.tcl:106 msgid "Summarize Merge Commits" -msgstr "Riepilogo nei commit di fusione" +msgstr "Riepilogo nelle revisioni di fusione" #: lib/option.tcl:107 msgid "Merge Verbosity" -msgstr "VerbositĂ  della fusione" +msgstr "ProlissitĂ  della fusione" #: lib/option.tcl:108 msgid "Show Diffstat After Merge" @@ -1649,11 +1662,12 @@ msgstr "Fidati delle date di modifica dei file" #: lib/option.tcl:111 msgid "Prune Tracking Branches During Fetch" -msgstr "Effettua potatura dei rami in 'tracking' durante il recupero" +msgstr "" +"Effettua potatura dei duplicati locali di rami remoti durante il recupero" #: lib/option.tcl:112 msgid "Match Tracking Branches" -msgstr "Appaia rami in 'tracking'" +msgstr "Appaia duplicati locali di rami remoti" #: lib/option.tcl:113 msgid "Number of Diff Context Lines" @@ -1664,41 +1678,37 @@ msgid "New Branch Name Template" msgstr "Modello per il nome di un nuovo ramo" #: lib/option.tcl:176 -#, fuzzy msgid "Change Font" -msgstr "Caratteri principali" +msgstr "Cambia caratteri" #: lib/option.tcl:180 #, tcl-format msgid "Choose %s" -msgstr "" +msgstr "Scegli %s" #: lib/option.tcl:186 msgid "pt." -msgstr "" +msgstr "pt." #: lib/option.tcl:200 msgid "Preferences" -msgstr "" +msgstr "Preferenze" #: lib/option.tcl:235 msgid "Failed to completely save options:" -msgstr "Fallimento nel salvataggio completo delle opzioni:" +msgstr "Impossibile salvare completamente le opzioni:" #: lib/remote.tcl:165 -#, fuzzy msgid "Prune from" -msgstr "Effettua potatura da %s..." +msgstr "Effettua potatura da" #: lib/remote.tcl:170 -#, fuzzy msgid "Fetch from" -msgstr "Preleva da %s..." +msgstr "Recupera da" #: lib/remote.tcl:213 -#, fuzzy msgid "Push to" -msgstr "Propaga (Push)" +msgstr "Propaga verso" #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 msgid "Delete Remote Branch" @@ -1714,7 +1724,7 @@ msgstr "Remoto:" #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 msgid "Arbitrary URL:" -msgstr "URL arbitrario:" +msgstr "URL specifico:" #: lib/remote_branch_delete.tcl:84 msgid "Branches" @@ -1730,19 +1740,22 @@ msgstr "Fuso in:" #: lib/remote_branch_delete.tcl:119 msgid "Always (Do not perform merge checks)" -msgstr "Sempre (Non effettuare controlli durante la fusione)" +msgstr "Sempre (non verificare le fusioni)" #: lib/remote_branch_delete.tcl:152 msgid "A branch is required for 'Merged Into'." msgstr "Si richiede un ramo per 'Fuso in'." #: lib/remote_branch_delete.tcl:184 -#, fuzzy, tcl-format +#, 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:" +msgstr "" +"I rami seguenti non sono stati fusi completamente in %s:\n" +"\n" +" - %s" #: lib/remote_branch_delete.tcl:189 #, tcl-format @@ -1750,8 +1763,8 @@ 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." +"Una o piĂą verifiche di fusione sono fallite perchĂ© mancano le revisioni " +"necessarie. Prova prima a recuperarle da %s." #: lib/remote_branch_delete.tcl:207 msgid "Please select one or more branches to delete." @@ -1763,7 +1776,7 @@ msgid "" "\n" "Delete the selected branches?" msgstr "" -"Prelevare rami cancellati è difficile.\n" +"Ricomporre rami cancellati è difficile.\n" "\n" "Cancellare i rami selezionati?" @@ -1795,9 +1808,9 @@ msgid "%s ... %*i of %*i %s (%3i%%)" msgstr "%s ... %*i di %*i %s (%3i%%)" #: lib/transport.tcl:6 -#, fuzzy, tcl-format +#, tcl-format msgid "fetch %s" -msgstr "Preleva (Fetch)" +msgstr "recupera da %s" #: lib/transport.tcl:7 #, tcl-format @@ -1807,17 +1820,17 @@ msgstr "Recupero nuove modifiche da %s" #: lib/transport.tcl:18 #, tcl-format msgid "remote prune %s" -msgstr "" +msgstr "potatura remota di %s" #: lib/transport.tcl:19 #, tcl-format msgid "Pruning tracking branches deleted from %s" -msgstr "Effettua potatura dei rami in 'tracking' cancellati da %s" +msgstr "Effettua potatura dei duplicati locali di rami remoti cancellati da %s" #: lib/transport.tcl:25 lib/transport.tcl:71 #, tcl-format msgid "push %s" -msgstr "" +msgstr "propaga verso %s" #: lib/transport.tcl:26 #, tcl-format @@ -1847,7 +1860,7 @@ msgstr "Opzioni di trasferimento" #: lib/transport.tcl:160 msgid "Force overwrite existing branch (may discard changes)" -msgstr "" +msgstr "Sovrascrivi ramo esistente (alcune modifiche potrebbero essere perse)" #: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" @@ -1857,11 +1870,3 @@ msgstr "Utilizza 'thin pack' (per connessioni lente)" 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..." From a0592d3f5746b41c60fee71dd8d2d27b5c813907 Mon Sep 17 00:00:00 2001 From: Johannes Sixt Date: Wed, 10 Oct 2007 20:50:40 -0400 Subject: [PATCH 066/187] git-gui: Change main window layout to support wider screens The layout is changed to have the file lists at the left (Unstaged Changes at the top, Staged Changes below it) and the diff window at the right (with the commit area below it). +----------+---------------------+ | Unstaged | Diff area | | | | | | | | | | +----------+ | | Staged | | | +---------------------+ | | Commit area | | | | +----------+---------------------+ The advantages are: - The height of the file lists can be adjusted independently to fit the files that they contain. - The diff viewer is higher. On wide screens it is ok that the main window is now generally wider, too. Signed-off-by: Johannes Sixt Signed-off-by: Shawn O. Pearce --- git-gui.sh | 23 ++++++++++++----------- 1 file changed, 12 insertions(+), 11 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 6b7bdbca21..07be97dd5c 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -1658,8 +1658,8 @@ proc do_quit {} { # set cfg_geometry [list] lappend cfg_geometry [wm geometry .] - lappend cfg_geometry [lindex [.vpane sash coord 0] 1] - lappend cfg_geometry [lindex [.vpane.files sash coord 0] 0] + lappend cfg_geometry [lindex [.vpane sash coord 0] 0] + lappend cfg_geometry [lindex [.vpane.files sash coord 0] 1] if {[catch {set rc_geometry $repo_config(gui.geometry)}]} { set rc_geometry {} } @@ -2208,8 +2208,8 @@ pack .branch -side top -fill x # -- Main Window Layout # -panedwindow .vpane -orient vertical -panedwindow .vpane.files -orient horizontal +panedwindow .vpane -orient horizontal +panedwindow .vpane.files -orient vertical .vpane add .vpane.files -sticky nsew -height 100 -width 200 pack .vpane -anchor n -side top -fill both -expand 1 @@ -2231,7 +2231,6 @@ pack .vpane.files.index.title -side top -fill x pack .vpane.files.index.sx -side bottom -fill x pack .vpane.files.index.sy -side right -fill y pack $ui_index -side left -fill both -expand 1 -.vpane.files add .vpane.files.index -sticky nsew # -- Working Directory File List # @@ -2251,7 +2250,9 @@ pack .vpane.files.workdir.title -side top -fill x pack .vpane.files.workdir.sx -side bottom -fill x pack .vpane.files.workdir.sy -side right -fill y pack $ui_workdir -side left -fill both -expand 1 + .vpane.files add .vpane.files.workdir -sticky nsew +.vpane.files add .vpane.files.index -sticky nsew foreach i [list $ui_index $ui_workdir] { rmsel_tag $i @@ -2264,8 +2265,8 @@ unset i frame .vpane.lower -height 300 -width 400 frame .vpane.lower.commarea frame .vpane.lower.diff -relief sunken -borderwidth 1 -pack .vpane.lower.commarea -side top -fill x -pack .vpane.lower.diff -side bottom -fill both -expand 1 +pack .vpane.lower.diff -fill both -expand 1 +pack .vpane.lower.commarea -side bottom -fill x .vpane add .vpane.lower -sticky nsew # -- Commit Area Buttons @@ -2591,11 +2592,11 @@ catch { set gm $repo_config(gui.geometry) wm geometry . [lindex $gm 0] .vpane sash place 0 \ - [lindex [.vpane sash coord 0] 0] \ - [lindex $gm 1] + [lindex $gm 1] \ + [lindex [.vpane sash coord 0] 1] .vpane.files sash place 0 \ - [lindex $gm 2] \ - [lindex [.vpane.files sash coord 0] 1] + [lindex [.vpane.files sash coord 0] 0] \ + [lindex $gm 2] unset gm } From 69f85ffaa22c3357cbb5c3c97a621eccbdfa2bb3 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 00:34:04 -0400 Subject: [PATCH 067/187] git-gui: Move load_config procedure below git-version selection To better handle configuration options that contain LFs in their values we want to use the new -z option available in git-config version 1.5.3 and later. To configure load_config based upon the git version we need to move thos below the git-version computation. No logic changes yet, just a minor reordering of the code. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 94 ++++++++++++++++++++++++++++-------------------------- 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 07be97dd5c..530fee866f 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -233,51 +233,6 @@ proc get_config {name} { } } -proc load_config {include_global} { - global repo_config global_config default_config - - array unset global_config - if {$include_global} { - catch { - set fd_rc [git_read config --global --list] - while {[gets $fd_rc line] >= 0} { - if {[regexp {^([^=]+)=(.*)$} $line line name value]} { - if {[is_many_config $name]} { - lappend global_config($name) $value - } else { - set global_config($name) $value - } - } - } - close $fd_rc - } - } - - array unset repo_config - catch { - set fd_rc [git_read config --list] - while {[gets $fd_rc line] >= 0} { - if {[regexp {^([^=]+)=(.*)$} $line line name value]} { - if {[is_many_config $name]} { - lappend repo_config($name) $value - } else { - set repo_config($name) $value - } - } - } - close $fd_rc - } - - foreach name [array names default_config] { - if {[catch {set v $global_config($name)}]} { - set global_config($name) $default_config($name) - } - if {[catch {set v $repo_config($name)}]} { - set repo_config($name) $default_config($name) - } - } -} - ###################################################################### ## ## handy utils @@ -789,6 +744,55 @@ if {$idx ne {}} { } unset -nocomplain idx fd +###################################################################### +## +## config file parsing + +proc load_config {include_global} { + global repo_config global_config default_config + + array unset global_config + if {$include_global} { + catch { + set fd_rc [git_read config --global --list] + while {[gets $fd_rc line] >= 0} { + if {[regexp {^([^=]+)=(.*)$} $line line name value]} { + if {[is_many_config $name]} { + lappend global_config($name) $value + } else { + set global_config($name) $value + } + } + } + close $fd_rc + } + } + + array unset repo_config + catch { + set fd_rc [git_read config --list] + while {[gets $fd_rc line] >= 0} { + if {[regexp {^([^=]+)=(.*)$} $line line name value]} { + if {[is_many_config $name]} { + lappend repo_config($name) $value + } else { + set repo_config($name) $value + } + } + } + close $fd_rc + } + + foreach name [array names default_config] { + if {[catch {set v $global_config($name)}]} { + set global_config($name) $default_config($name) + } + if {[catch {set v $repo_config($name)}]} { + set repo_config($name) $default_config($name) + } + } +} + ###################################################################### ## ## feature option selection From f00d504a6fcf29944311a497d0eb76f0fe5ef8f0 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 00:42:17 -0400 Subject: [PATCH 068/187] git-gui: Refactor git-config --list parsing The parsing for the output of `git config --list` is the same for both the global options and the current repository's options so we can really just use the same parser between them. I'm currently just refactoring the parser so we can use a different one depending on the version of git available to us at runtime. My next change will add support for 1.5.3's --null option. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 35 ++++++++++++++--------------------- 1 file changed, 14 insertions(+), 21 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 530fee866f..cfed62da44 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -748,40 +748,33 @@ unset -nocomplain idx fd ## ## config file parsing -proc load_config {include_global} { - global repo_config global_config default_config - - array unset global_config - if {$include_global} { +git-version proc _parse_config {arr_name args} { + default { + upvar $arr_name arr + array unset arr catch { - set fd_rc [git_read config --global --list] + set fd_rc [eval [list git_read config --list] $args] while {[gets $fd_rc line] >= 0} { if {[regexp {^([^=]+)=(.*)$} $line line name value]} { if {[is_many_config $name]} { - lappend global_config($name) $value + lappend arr($name) $value } else { - set global_config($name) $value + set arr($name) $value } } } close $fd_rc } } +} - array unset repo_config - catch { - set fd_rc [git_read config --list] - while {[gets $fd_rc line] >= 0} { - if {[regexp {^([^=]+)=(.*)$} $line line name value]} { - if {[is_many_config $name]} { - lappend repo_config($name) $value - } else { - set repo_config($name) $value - } - } - } - close $fd_rc +proc load_config {include_global} { + global repo_config global_config default_config + + if {$include_global} { + _parse_config global_config --global } + _parse_config repo_config foreach name [array names default_config] { if {[catch {set v $global_config($name)}]} { From 85f7a94b3c1e4289827f2529d2e8447f3678c619 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 00:54:15 -0400 Subject: [PATCH 069/187] git-gui: Support LFs embedded in config file values Using the new --null option added to git-config in git 1.5.3 we can safely accept LFs that are embedded in configuration options. This does require a completely different configuration file parser then the pre 1.5.3 version as we are splitting on very different values. 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 cfed62da44..a6e2d57a2f 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -749,6 +749,26 @@ unset -nocomplain idx fd ## config file parsing git-version proc _parse_config {arr_name args} { + >= 1.5.3 { + upvar $arr_name arr + array unset arr + set buf {} + catch { + set fd_rc [eval [list git_read config --null --list] $args] + fconfigure $fd_rc -translation binary + set buf [read $fd_rc] + close $fd_rc + } + foreach line [split $buf "\0"] { + if {[regexp {^([^\n]+)\n(.*)$} $line line name value]} { + if {[is_many_config $name]} { + lappend arr($name) $value + } else { + set arr($name) $value + } + } + } + } default { upvar $arr_name arr array unset arr From 24f7c64b21bb26aab5b8525c0bac8452e7a7a4c8 Mon Sep 17 00:00:00 2001 From: Steffen Prohaska Date: Mon, 8 Oct 2007 08:25:47 +0200 Subject: [PATCH 070/187] git-gui: offer a list of recent repositories on startup If git-gui is started outside a work tree the repository chooser will offer a list of recently opened repositories. Clicking on any list entry directly opens the repository. The list of recently opened repositories is stored in the config as the multi-valued option gui.recentrepo. If the list grows beyond 10 entries it will be truncated by removing one of the older entries. Only repositories that are opened through the repository chooser will get added to the recent list. Repositories opened from the shell will not yet be added to the recent list, as users are likely to have a way to easily return to the same directory via their shell. [sp: This is actually a combined work from both Steffen and myself. Most of the ideas are Steffen's, as is the basic outline of the code, but any outstanding bugs are entirely my fault.] Signed-off-by: Steffen Prohaska Signed-off-by: Shawn O. Pearce --- git-gui.sh | 1 + lib/choose_repository.tcl | 82 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 83 insertions(+) diff --git a/git-gui.sh b/git-gui.sh index a6e2d57a2f..dd320fb075 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -205,6 +205,7 @@ proc disable_option {option} { proc is_many_config {name} { switch -glob -- $name { + gui.recentrepo - remote.*.fetch - remote.*.push {return 1} diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 5d5bc81ad0..8dc8506544 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -9,6 +9,7 @@ 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 w_recentlist ; # Listbox containing recent repositories field action new ; # What action are we going to perform? field done 0 ; # Finished picking the repository? @@ -17,6 +18,7 @@ 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) +field sorted_recent ; # recent repositories (sorted) constructor pick {} { global M1T M1B @@ -82,6 +84,40 @@ 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 + + set sorted_recent [_get_recentrepos] + if {[llength $sorted_recent] > 0} { + label $w_body.space + label $w_body.recentlabel \ + -anchor w \ + -text [mc "Open Recent Repository:"] + set w_recentlist $w_body.recentlist + text $w_recentlist \ + -cursor $::cursor_ptr \ + -relief flat \ + -background [$w_body.recentlabel cget -background] \ + -wrap none \ + -width 50 \ + -height 10 + $w_recentlist tag conf link \ + -foreground blue \ + -underline 1 + set home "[file normalize $::env(HOME)][file separator]" + set hlen [string length $home] + foreach p $sorted_recent { + if {[string equal -length $hlen $home $p]} { + set p "~[file separator][string range $p $hlen end]" + } + regsub -all "\n" $p "\\n" p + $w_recentlist insert end $p link + $w_recentlist insert end "\n" + } + $w_recentlist conf -state disabled + $w_recentlist tag bind link <1> [cb _open_recent %x,%y] + pack $w_body.space -anchor w -fill x + pack $w_body.recentlabel -anchor w -fill x + pack $w_recentlist -anchor w -fill x + } pack $w_body -fill x -padx 10 -pady 10 frame $w.buttons @@ -134,6 +170,50 @@ method _invoke_next {} { } } +proc _get_recentrepos {} { + set recent [list] + foreach p [get_config gui.recentrepo] { + if {[_is_git [file join $p .git]]} { + lappend recent $p + } + } + return [lsort $recent] +} + +proc _unset_recentrepo {p} { + regsub -all -- {([()\[\]{}\.^$+*?\\])} $p {\\\1} p + git config --global --unset gui.recentrepo "^$p\$" +} + +proc _append_recentrepos {path} { + set path [file normalize $path] + set recent [get_config gui.recentrepo] + + if {[lindex $recent end] eq $path} { + return + } + + set i [lsearch $recent $path] + if {$i >= 0} { + _unset_recentrepo $path + set recent [lreplace $recent $i $i] + } + + lappend recent $path + git config --global --add gui.recentrepo $path + + while {[llength $recent] > 10} { + _unset_recentrepo [lindex $recent 0] + set recent [lrange $recent 1 end] + } +} + +method _open_recent {xy} { + set id [lindex [split [$w_recentlist index @$xy] .] 0] + set local_path [lindex $sorted_recent [expr {$id - 1}]] + _do_open2 $this +} + method _next {} { destroy $w_body _do_$action $this @@ -174,6 +254,7 @@ method _git_init {} { return 0 } + _append_recentrepos [pwd] set ::_gitdir .git set ::_prefix {} return 1 @@ -856,6 +937,7 @@ method _do_open2 {} { return } + _append_recentrepos [pwd] set ::_gitdir .git set ::_prefix {} set done 1 From 28e86952dd0802315d79f57f666fa2c283d0fbe8 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 01:34:36 -0400 Subject: [PATCH 071/187] git-gui: Change repository browser radio buttons to hyperlinks Making a user click twice to select which action they want to perform when starting git-gui is just wasting their time. Clicking once on a radio button and then clicking again on the "Next >" button is quite unnecessary. Since the recent repository list is shown as a list of hyperlinks we now offer the 3 basic startup actions as hyperlinks. Clicking on a link will immediately jump to the next UI panel, saving the user time as they don't need to click an additional button. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 61 ++++++++++++++++++++++----------------- 1 file changed, 34 insertions(+), 27 deletions(-) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 8dc8506544..eb4a6d2851 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -7,11 +7,11 @@ field top field w field w_body ; # Widget holding the center content field w_next ; # Next button +field w_quit ; # Quit button field o_cons ; # Console object (if active) field w_types ; # List of type buttons in clone field w_recentlist ; # Listbox containing recent repositories -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 @@ -65,25 +65,32 @@ constructor pick {} { pack [git_logo $w.git_logo] -side left -fill y -padx 10 -pady 10 set w_body $w.body + set opts $w_body.options 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 + text $opts \ + -cursor $::cursor_ptr \ + -relief flat \ + -background [$w_body cget -background] \ + -wrap none \ + -spacing1 5 \ + -width 50 \ + -height 3 + pack $opts -anchor w -fill x + + $opts tag conf link_new -foreground blue -underline 1 + $opts tag bind link_new <1> [cb _next new] + $opts insert end [mc "Create New Repository"] link_new + $opts insert end "\n" + + $opts tag conf link_clone -foreground blue -underline 1 + $opts tag bind link_clone <1> [cb _next clone] + $opts insert end [mc "Clone Existing Repository"] link_clone + $opts insert end "\n" + + $opts tag conf link_open -foreground blue -underline 1 + $opts tag bind link_open <1> [cb _next open] + $opts insert end [mc "Open Existing Repository"] link_open + $opts insert end "\n" set sorted_recent [_get_recentrepos] if {[llength $sorted_recent] > 0} { @@ -122,15 +129,11 @@ constructor pick {} { 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 \ + set w_quit $w.buttons.quit + button $w_quit \ -text [mc "Quit"] \ -command exit - pack $w.buttons.quit -side right -padx 5 + pack $w_quit -side right -padx 5 pack $w.buttons -side bottom -fill x -padx 10 -pady 10 bind $top [cb _invoke_next] @@ -214,8 +217,12 @@ method _open_recent {xy} { _do_open2 $this } -method _next {} { +method _next {action} { destroy $w_body + if {![winfo exists $w_next]} { + button $w_next -default active + pack $w_next -side right -padx 5 -before $w_quit + } _do_$action $this } From 9c1b1b1e45926e6eed57f5bfbb5c3f69e063e5ab Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 01:56:06 -0400 Subject: [PATCH 072/187] git-gui: Offer repository management features in menu bar When we show the repository chooser as the primary toplevel (".") we now offer the major choices not just on the window as hyperlinks but they also now are shown in the Repository menu, including the recent repository list. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 55 ++++++++++++++++++++++++++++++++++----- 1 file changed, 49 insertions(+), 6 deletions(-) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index eb4a6d2851..46d5b77c00 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -30,14 +30,11 @@ constructor pick {} { menu $w.mbar -tearoff 0 $top configure -menu $w.mbar + set m_repo $w.mbar.repository $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 + -menu $m_repo + menu $m_repo if {[is_MacOSX]} { $w.mbar add cascade -label [mc Apple] -menu .mbar.apple @@ -60,6 +57,7 @@ constructor pick {} { } else { wm geometry $top "+[winfo rootx .]+[winfo rooty .]" bind $top [list destroy $top] + set m_repo {} } pack [git_logo $w.git_logo] -side left -fill y -padx 10 -pady 10 @@ -81,19 +79,44 @@ constructor pick {} { $opts tag bind link_new <1> [cb _next new] $opts insert end [mc "Create New Repository"] link_new $opts insert end "\n" + if {$m_repo ne {}} { + $m_repo add command \ + -command [cb _next new] \ + -accelerator $M1T-N \ + -label [mc "New..."] + } $opts tag conf link_clone -foreground blue -underline 1 $opts tag bind link_clone <1> [cb _next clone] $opts insert end [mc "Clone Existing Repository"] link_clone $opts insert end "\n" + if {$m_repo ne {}} { + $m_repo add command \ + -command [cb _next clone] \ + -accelerator $M1T-C \ + -label [mc "Clone..."] + } $opts tag conf link_open -foreground blue -underline 1 $opts tag bind link_open <1> [cb _next open] $opts insert end [mc "Open Existing Repository"] link_open $opts insert end "\n" + if {$m_repo ne {}} { + $m_repo add command \ + -command [cb _next open] \ + -accelerator $M1T-O \ + -label [mc "Open..."] + } set sorted_recent [_get_recentrepos] if {[llength $sorted_recent] > 0} { + if {$m_repo ne {}} { + $m_repo add separator + $m_repo add command \ + -state disabled \ + -label [mc "Recent Repositories"] + } + label $w_body.space label $w_body.recentlabel \ -anchor w \ @@ -112,12 +135,19 @@ constructor pick {} { set home "[file normalize $::env(HOME)][file separator]" set hlen [string length $home] foreach p $sorted_recent { + set path $p if {[string equal -length $hlen $home $p]} { set p "~[file separator][string range $p $hlen end]" } regsub -all "\n" $p "\\n" p $w_recentlist insert end $p link $w_recentlist insert end "\n" + + if {$m_repo ne {}} { + $m_repo add command \ + -command [cb _open_recent_path $path] \ + -label " $p" + } } $w_recentlist conf -state disabled $w_recentlist tag bind link <1> [cb _open_recent %x,%y] @@ -136,6 +166,14 @@ constructor pick {} { pack $w_quit -side right -padx 5 pack $w.buttons -side bottom -fill x -padx 10 -pady 10 + if {$m_repo ne {}} { + $m_repo add separator + $m_repo add command \ + -label [mc Quit] \ + -command exit \ + -accelerator $M1T-Q + } + bind $top [cb _invoke_next] bind $top " [cb _center] @@ -217,6 +255,11 @@ method _open_recent {xy} { _do_open2 $this } +method _open_recent_path {p} { + set local_path $p + _do_open2 $this +} + method _next {action} { destroy $w_body if {![winfo exists $w_next]} { From 580b73de258635ca392d917cda4341ac5f1a2535 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 11:15:02 -0400 Subject: [PATCH 073/187] git-gui: Fix bind errors when switching repository chooser panels We need to remove any variable traces we may have installed when the panel is destroyed as the trace may attempt to use a widget that no longer exists on this panel. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 46d5b77c00..ab8e620c70 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -352,6 +352,7 @@ method _do_new {} { pack $w_body.where -fill x trace add variable @local_path write [cb _write_local_path] + bind $w_body.h [list trace remove variable @local_path write [cb _write_local_path]] update focus $w_body.where.t } @@ -477,6 +478,10 @@ method _do_clone {} { trace add variable @local_path write [cb _update_clone] trace add variable @origin_url write [cb _update_clone] + bind $w_body.h " + [list trace remove variable @local_path write [cb _update_clone]] + [list trace remove variable @origin_url write [cb _update_clone]] + " update focus $args.origin_t } @@ -948,6 +953,7 @@ method _do_open {} { pack $w_body.where -fill x trace add variable @local_path write [cb _write_local_path] + bind $w_body.h [list trace remove variable @local_path write [cb _write_local_path]] update focus $w_body.where.t } From 28d1b11a1172ef047a97a901819aac75a8cf75c9 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 11:04:20 -0400 Subject: [PATCH 074/187] git-gui: Disable the text widget in the repository chooser Although we are using a text widget here we really do not want the end-user to be able to modify the text it displays. So we need to disable it. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 2 ++ 1 file changed, 2 insertions(+) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index ab8e620c70..1e55aec90a 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -108,6 +108,8 @@ constructor pick {} { -label [mc "Open..."] } + $opts conf -state disabled + set sorted_recent [_get_recentrepos] if {[llength $sorted_recent] > 0} { if {$m_repo ne {}} { From 914c4d4dcd96218d33f5fefc9c175ea785972f06 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 11:13:58 -0400 Subject: [PATCH 075/187] git-gui: Bind n/c/o accelerators in repository chooser On Windows we need to actually setup binds for the accelerator keys, otherwise the OS doesn't respond to them when the user presses the key combinations. Apparently we automatically get these on Mac OS X when we configure the menu commands, but not on Windows. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index 1e55aec90a..e66df85964 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -84,6 +84,8 @@ constructor pick {} { -command [cb _next new] \ -accelerator $M1T-N \ -label [mc "New..."] + bind $top <$M1B-n> [cb _next new] + bind $top <$M1B-N> [cb _next new] } $opts tag conf link_clone -foreground blue -underline 1 @@ -95,6 +97,8 @@ constructor pick {} { -command [cb _next clone] \ -accelerator $M1T-C \ -label [mc "Clone..."] + bind $top <$M1B-c> [cb _next clone] + bind $top <$M1B-C> [cb _next clone] } $opts tag conf link_open -foreground blue -underline 1 @@ -106,6 +110,8 @@ constructor pick {} { -command [cb _next open] \ -accelerator $M1T-O \ -label [mc "Open..."] + bind $top <$M1B-o> [cb _next open] + bind $top <$M1B-O> [cb _next open] } $opts conf -state disabled From d6db1ad51a5ac8154fcc2413f1eb6142c1a0639a Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 12:18:02 -0400 Subject: [PATCH 076/187] git-gui: Ensure copyright message is correctly read as UTF-8 On Windows using the native Tcl/Tk the copyright header is being read from the script using the system encoding, which may not be utf-8. This causes the multi-byte copyright symbol (which is actually encoded as utf-8) to read as two characters and not as a proper copyright symbol. Explicitly asking Tcl to read this sequence of bytes as utf-8 corrects the issue. 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 dd320fb075..9bc5626286 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -10,7 +10,7 @@ exec wish "$argv0" -- "$@" set appvers {@@GITGUI_VERSION@@} -set copyright { +set copyright [encoding convertfrom utf-8 { Copyright © 2006, 2007 Shawn Pearce, et. al. This program is free software; you can redistribute it and/or modify @@ -25,7 +25,7 @@ GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software -Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA} +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA}] ###################################################################### ## From 51a41ac4efd8bcbcf2aa6e738c42ae4d46d10947 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 16:11:35 -0400 Subject: [PATCH 077/187] git-gui: Use proper Windows shortcuts instead of bat files On Windows its better to use a shortcut (.lnk file) over a batch script (.bat) as we can specify the icon file for the .lnk and thus have these git specific objects appear on the desktop with that git specific icon file. Unfortunately the authors of Tcl did not bless us with the APIs needed to create shortcuts from within Tcl. But Microsoft did give us Windows Scripting Host which allows us to execute some JavaScript that calls some sort of COM object that can operate on a .lnk file. We now build both Cygwin and non-Cygwin "desktop icons" as proper Windows .lnk files, using the "Start in" property of these files to indicate the working directory of the repository the user wants to launch. Signed-off-by: Shawn O. Pearce --- Makefile | 10 +++++---- lib/shortcut.tcl | 49 ++++++++++++++++--------------------------- lib/win32.tcl | 26 +++++++++++++++++++++++ lib/win32_shortcut.js | 34 ++++++++++++++++++++++++++++++ 4 files changed, 84 insertions(+), 35 deletions(-) create mode 100644 lib/win32.tcl create mode 100644 lib/win32_shortcut.js diff --git a/Makefile b/Makefile index 2ad8846198..ef9cd91262 100644 --- a/Makefile +++ b/Makefile @@ -19,6 +19,10 @@ GITGUI_MAIN := git-gui GITGUI_BUILT_INS = git-citool ALL_LIBFILES = $(wildcard lib/*.tcl) PRELOAD_FILES = lib/class.tcl +NONTCL_LIBFILES = \ + lib/git-gui.ico \ + $(wildcard lib/win32_*.js) \ +#end NONTCL_LIBFILES ifndef SHELL_PATH SHELL_PATH = /bin/sh @@ -255,12 +259,11 @@ ifdef GITGUI_WINDOWS_WRAPPER 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)' 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)$(foreach p,$(ALL_LIBFILES) $(NONTCL_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 @@ -273,12 +276,11 @@ ifdef GITGUI_WINDOWS_WRAPPER 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) 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)$(foreach p,$(ALL_LIBFILES) $(NONTCL_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 $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(REMOVE_D1) diff --git a/lib/shortcut.tcl b/lib/shortcut.tcl index a7674a7aee..38c3151b05 100644 --- a/lib/shortcut.tcl +++ b/lib/shortcut.tcl @@ -2,28 +2,22 @@ # Copyright (C) 2006, 2007 Shawn Pearce proc do_windows_shortcut {} { - global argv0 - set fn [tk_getSaveFile \ -parent . \ -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \ - -initialfile "Git [reponame].bat"] + -initialfile "Git [reponame].lnk"] if {$fn != {}} { - if {[file extension $fn] ne {.bat}} { - set fn ${fn}.bat + if {[file extension $fn] ne {.lnk}} { + set fn ${fn}.lnk } if {[catch { - set ge [file normalize [file dirname $::_git]] - set fd [open $fn w] - puts $fd "@ECHO Entering [reponame]" - puts $fd "@ECHO Starting git-gui... please wait..." - puts $fd "@SET PATH=$ge;%PATH%" - puts $fd "@SET GIT_DIR=[file normalize [gitdir]]" - puts -nonewline $fd "@\"[info nameofexecutable]\"" - puts $fd " \"[file normalize $argv0]\"" - close $fd + win32_create_lnk $fn [list \ + [info nameofexecutable] \ + [file normalize $::argv0] \ + ] \ + [file dirname [file normalize [gitdir]]] } err]} { - error_popup [strcat [mc "Cannot write script:"] "\n\n$err"] + error_popup [strcat [mc "Cannot write shortcut:"] "\n\n$err"] } } } @@ -44,13 +38,12 @@ proc do_cygwin_shortcut {} { -parent . \ -title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \ -initialdir $desktop \ - -initialfile "Git [reponame].bat"] + -initialfile "Git [reponame].lnk"] if {$fn != {}} { - if {[file extension $fn] ne {.bat}} { - set fn ${fn}.bat + if {[file extension $fn] ne {.lnk}} { + set fn ${fn}.lnk } if {[catch { - set fd [open $fn w] set sh [exec cygpath \ --windows \ --absolute \ @@ -59,19 +52,13 @@ proc do_cygwin_shortcut {} { --unix \ --absolute \ $argv0] - set gd [exec cygpath \ - --unix \ - --absolute \ - [gitdir]] - puts $fd "@ECHO Entering [reponame]" - puts $fd "@ECHO Starting git-gui... please wait..." - puts -nonewline $fd "@\"$sh\" --login -c \"" - puts -nonewline $fd "GIT_DIR=[sq $gd]" - puts -nonewline $fd " [sq $me]" - puts $fd " &\"" - close $fd + win32_create_lnk $fn [list \ + $sh -c \ + "CHERE_INVOKING=1 source /etc/profile;[sq $me]" \ + ] \ + [file dirname [file normalize [gitdir]]] } err]} { - error_popup [strcat [mc "Cannot write script:"] "\n\n$err"] + error_popup [strcat [mc "Cannot write shortcut:"] "\n\n$err"] } } } diff --git a/lib/win32.tcl b/lib/win32.tcl new file mode 100644 index 0000000000..d7f93d045d --- /dev/null +++ b/lib/win32.tcl @@ -0,0 +1,26 @@ +# git-gui Misc. native Windows 32 support +# Copyright (C) 2007 Shawn Pearce + +proc win32_read_lnk {lnk_path} { + return [exec cscript.exe \ + /E:jscript \ + /nologo \ + [file join $::oguilib win32_shortcut.js] \ + $lnk_path] +} + +proc win32_create_lnk {lnk_path lnk_exec lnk_dir} { + global oguilib + + set lnk_args [lrange $lnk_exec 1 end] + set lnk_exec [lindex $lnk_exec 0] + + eval [list exec wscript.exe \ + /E:jscript \ + /nologo \ + [file join $oguilib win32_shortcut.js] \ + $lnk_path \ + [file join $oguilib git-gui.ico] \ + $lnk_dir \ + $lnk_exec] $lnk_args +} diff --git a/lib/win32_shortcut.js b/lib/win32_shortcut.js new file mode 100644 index 0000000000..117923f886 --- /dev/null +++ b/lib/win32_shortcut.js @@ -0,0 +1,34 @@ +// git-gui Windows shortcut support +// Copyright (C) 2007 Shawn Pearce + +var WshShell = WScript.CreateObject("WScript.Shell"); +var argv = WScript.Arguments; +var argi = 0; +var lnk_path = argv.item(argi++); +var ico_path = argi < argv.length ? argv.item(argi++) : undefined; +var dir_path = argi < argv.length ? argv.item(argi++) : undefined; +var lnk_exec = argi < argv.length ? argv.item(argi++) : undefined; +var lnk_args = ''; +while (argi < argv.length) { + var s = argv.item(argi++); + if (lnk_args != '') + lnk_args += ' '; + if (s.indexOf(' ') >= 0) { + lnk_args += '"'; + lnk_args += s; + lnk_args += '"'; + } else { + lnk_args += s; + } +} + +var lnk = WshShell.CreateShortcut(lnk_path); +if (argv.length == 1) { + WScript.echo(lnk.TargetPath); +} else { + lnk.TargetPath = lnk_exec; + lnk.Arguments = lnk_args; + lnk.IconLocation = ico_path + ", 0"; + lnk.WorkingDirectory = dir_path; + lnk.Save(); +} From ba6c761e6287f9987d70ed4d2a609a7ed415a6a5 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 16:24:20 -0400 Subject: [PATCH 078/187] git-gui: Support cloning Cygwin based work-dirs If the user tries to clone a Git repository that is actually a workdir of another repository (by way of contrib git-new-workdir) then the contents of .git is a series of Windows .lnk files which Tcl can't read if this is a native Tcl process. To read the real objects directory we need to resolve the link to that location. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 44 ++++++++++++++++++++++++++++++++------- 1 file changed, 37 insertions(+), 7 deletions(-) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index e66df85964..bf04361464 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -324,9 +324,42 @@ proc _is_git {path} { && [file exists [file join $path config]]} { return 1 } + if {[is_Cygwin]} { + if {[file exists [file join $path HEAD]] + && [file exists [file join $path objects.lnk]] + && [file exists [file join $path config.lnk]]} { + return 1 + } + } return 0 } +proc _objdir {path} { + set objdir [file join $path .git objects] + if {[file isdirectory $objdir]} { + return $objdir + } + + set objdir [file join $path objects] + if {[file isdirectory $objdir]} { + return $objdir + } + + if {[is_Cygwin]} { + set objdir [file join $path .git objects.lnk] + if {[file isfile $objdir]} { + return [win32_read_lnk $objdir] + } + + set objdir [file join $path objects.lnk] + if {[file isfile $objdir]} { + return [win32_read_lnk $objdir] + } + } + + return {} +} + ###################################################################### ## ## Create New Repository @@ -555,13 +588,10 @@ method _do_clone2 {} { } 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 objdir [_objdir $origin_url] + if {$objdir eq {}} { + error_popup [mc "Not a Git repository: %s" [file tail $origin_url]] + return } } From 82dd4e0465282e39962ba8fdb01c42aa665b1999 Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Fri, 12 Oct 2007 16:33:45 -0400 Subject: [PATCH 079/187] git-gui: Collapse $env(HOME) to ~/ in recent repositories on Windows Apparently native Tcl/Tk on Windows is using \ as the return value from [file separator] but [file normalize] on that same system is using / rather than \ to represent a directory separator. I really think that is nuts, but its what is happening. So we can actually just hardcode our separator to / as all systems we support (Windows, Mac OS X, UNIX) use /. Signed-off-by: Shawn O. Pearce --- lib/choose_repository.tcl | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/choose_repository.tcl b/lib/choose_repository.tcl index bf04361464..2bac50e149 100644 --- a/lib/choose_repository.tcl +++ b/lib/choose_repository.tcl @@ -140,12 +140,16 @@ constructor pick {} { $w_recentlist tag conf link \ -foreground blue \ -underline 1 - set home "[file normalize $::env(HOME)][file separator]" + set home $::env(HOME) + if {[is_Cygwin]} { + set home [exec cygpath --windows --absolute $home] + } + set home "[file normalize $home]/" set hlen [string length $home] foreach p $sorted_recent { set path $p if {[string equal -length $hlen $home $p]} { - set p "~[file separator][string range $p $hlen end]" + set p "~/[string range $p $hlen end]" } regsub -all "\n" $p "\\n" p $w_recentlist insert end $p link From 86215812487930c69e197ef03be31e0b396a04cc Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Sat, 13 Oct 2007 15:41:31 -0400 Subject: [PATCH 080/187] git-gui: Honor a config.mak in git-gui's top level I keep forgetting to include TCLTK_PATH when I build git-gui on some systems. Placing that rule (among others) into a config.mak makes it easier to compile the application the same way every time. Signed-off-by: Shawn O. Pearce --- .gitignore | 1 + Makefile | 2 ++ 2 files changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index a7cfd6d5a0..6483b21cbf 100644 --- a/.gitignore +++ b/.gitignore @@ -1,4 +1,5 @@ .DS_Store +config.mak Git Gui.app* git-gui.tcl GIT-VERSION-FILE diff --git a/Makefile b/Makefile index ef9cd91262..e860319278 100644 --- a/Makefile +++ b/Makefile @@ -99,6 +99,8 @@ ifeq ($(findstring $(MAKEFLAGS),s),s) QUIET_GEN = endif +-include config.mak + DESTDIR_SQ = $(subst ','\'',$(DESTDIR)) gitexecdir_SQ = $(subst ','\'',$(gitexecdir)) SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) From a5bb31fb6323b53559b0d15ce2d02a7ba6d74bed Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 16 Oct 2007 12:55:34 -0400 Subject: [PATCH 081/187] git-gui: Paper bag fix the global config parsing git-config won't honor any options after --list. We must supply the --global option in front of --list if we really want to load the global configuration options. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/git-gui.sh b/git-gui.sh index 9bc5626286..38c6e595d8 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -755,7 +755,10 @@ git-version proc _parse_config {arr_name args} { array unset arr set buf {} catch { - set fd_rc [eval [list git_read config --null --list] $args] + set fd_rc [eval \ + [list git_read config] \ + $args \ + [list --null --list]] fconfigure $fd_rc -translation binary set buf [read $fd_rc] close $fd_rc From fb6cf213a3929744fc89e6a444dcd7d4b2fa3c66 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Sat, 20 Oct 2007 15:30:53 +0200 Subject: [PATCH 082/187] git-gui: Add more terms to glossary. Signed-off-by: Shawn O. Pearce --- po/glossary/git-gui-glossary.pot | 8 ++++++-- po/glossary/git-gui-glossary.txt | 3 ++- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/po/glossary/git-gui-glossary.pot b/po/glossary/git-gui-glossary.pot index a2e5c73bbd..48af803314 100644 --- a/po/glossary/git-gui-glossary.pot +++ b/po/glossary/git-gui-glossary.pot @@ -6,7 +6,7 @@ msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" -"POT-Creation-Date: 2007-10-05 22:30+0200\n" +"POT-Creation-Date: 2007-10-19 21:43+0200\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" @@ -86,7 +86,7 @@ msgstr "" msgid "message" msgstr "" -#. "" +#. "Deletes all stale tracking branches under . These stale branches have already been removed from the remote repository referenced by , but are still locally available in 'remotes/'." msgid "prune" msgstr "" @@ -102,6 +102,10 @@ msgstr "" msgid "redo" msgstr "" +#. "An other repository ('remote'). One might have a set of remotes whose branches one tracks." +msgid "remote" +msgstr "" + #. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)" msgid "repository" msgstr "" diff --git a/po/glossary/git-gui-glossary.txt b/po/glossary/git-gui-glossary.txt index b53740d48c..500d0a0ea7 100644 --- a/po/glossary/git-gui-glossary.txt +++ b/po/glossary/git-gui-glossary.txt @@ -16,10 +16,11 @@ "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" "" +"prune" "Deletes all stale tracking branches under . These stale branches have already been removed from the remote repository referenced by , but are still locally available in 'remotes/'." "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" "" +"remote" "An other repository ('remote'). One might have a set of remotes whose branches one tracks." "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" "" From 9d434d50262b00243c6249697ebfa8512042b158 Mon Sep 17 00:00:00 2001 From: Christian Stimming Date: Sat, 20 Oct 2007 15:31:43 +0200 Subject: [PATCH 083/187] git-gui: Update German translation Signed-off-by: Shawn O. Pearce --- po/de.po | 444 ++++++++++++++++++++++++---------------------- po/glossary/de.po | 14 +- 2 files changed, 238 insertions(+), 220 deletions(-) diff --git a/po/de.po b/po/de.po index 4ba2fbee51..3df30edb87 100644 --- a/po/de.po +++ b/po/de.po @@ -7,41 +7,41 @@ msgid "" msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2007-10-10 04:04-0400\n" -"PO-Revision-Date: 2007-10-05 22:27+0200\n" +"POT-Creation-Date: 2007-10-19 21:10+0200\n" +"PO-Revision-Date: 2007-10-20 15:28+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:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 -#: git-gui.sh:763 +#: git-gui.sh:41 git-gui.sh:590 git-gui.sh:604 git-gui.sh:617 git-gui.sh:700 +#: git-gui.sh:719 msgid "git-gui: fatal error" msgstr "git-gui: Programmfehler" -#: git-gui.sh:595 +#: git-gui.sh:551 #, tcl-format msgid "Invalid font specified in %s:" msgstr "UngĂĽltige Zeichensatz-Angabe in %s:" -#: git-gui.sh:620 +#: git-gui.sh:576 msgid "Main Font" msgstr "Programmschriftart" -#: git-gui.sh:621 +#: git-gui.sh:577 msgid "Diff/Console Font" msgstr "Vergleich-Schriftart" -#: git-gui.sh:635 +#: git-gui.sh:591 msgid "Cannot find git in PATH." msgstr "Git kann im PATH nicht gefunden werden." -#: git-gui.sh:662 +#: git-gui.sh:618 msgid "Cannot parse Git version string:" msgstr "Git Versionsangabe kann nicht erkannt werden:" -#: git-gui.sh:680 +#: git-gui.sh:636 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -60,81 +60,81 @@ msgstr "" "\n" "Soll angenommen werden, »%s« sei Version 1.5.0?\n" -#: git-gui.sh:853 +#: git-gui.sh:874 msgid "Git directory not found:" msgstr "Git-Verzeichnis nicht gefunden:" -#: git-gui.sh:860 +#: git-gui.sh:881 msgid "Cannot move to top of working directory:" msgstr "" "Es konnte nicht in das oberste Verzeichnis der Arbeitskopie gewechselt " "werden:" -#: git-gui.sh:867 +#: git-gui.sh:888 msgid "Cannot use funny .git directory:" msgstr "Unerwartete Struktur des .git Verzeichnis:" -#: git-gui.sh:872 +#: git-gui.sh:893 msgid "No working directory" msgstr "Kein Arbeitsverzeichnis" -#: git-gui.sh:1019 +#: git-gui.sh:1040 msgid "Refreshing file status..." msgstr "Dateistatus aktualisieren..." -#: git-gui.sh:1084 +#: git-gui.sh:1105 msgid "Scanning for modified files ..." msgstr "Nach geänderten Dateien suchen..." -#: git-gui.sh:1259 lib/browser.tcl:245 +#: git-gui.sh:1280 lib/browser.tcl:245 msgid "Ready." msgstr "Bereit." -#: git-gui.sh:1525 +#: git-gui.sh:1546 msgid "Unmodified" msgstr "Unverändert" -#: git-gui.sh:1527 +#: git-gui.sh:1548 msgid "Modified, not staged" msgstr "Verändert, nicht bereitgestellt" -#: git-gui.sh:1528 git-gui.sh:1533 +#: git-gui.sh:1549 git-gui.sh:1554 msgid "Staged for commit" msgstr "Bereitgestellt zum Eintragen" -#: git-gui.sh:1529 git-gui.sh:1534 +#: git-gui.sh:1550 git-gui.sh:1555 msgid "Portions staged for commit" msgstr "Teilweise bereitgestellt zum Eintragen" -#: git-gui.sh:1530 git-gui.sh:1535 +#: git-gui.sh:1551 git-gui.sh:1556 msgid "Staged for commit, missing" msgstr "Bereitgestellt zum Eintragen, fehlend" -#: git-gui.sh:1532 +#: git-gui.sh:1553 msgid "Untracked, not staged" msgstr "Nicht unter Versionskontrolle, nicht bereitgestellt" -#: git-gui.sh:1537 +#: git-gui.sh:1558 msgid "Missing" msgstr "Fehlend" -#: git-gui.sh:1538 +#: git-gui.sh:1559 msgid "Staged for removal" msgstr "Bereitgestellt zum Löschen" -#: git-gui.sh:1539 +#: git-gui.sh:1560 msgid "Staged for removal, still present" msgstr "Bereitgestellt zum Löschen, trotzdem vorhanden" -#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544 +#: git-gui.sh:1562 git-gui.sh:1563 git-gui.sh:1564 git-gui.sh:1565 msgid "Requires merge resolution" msgstr "Konfliktauflösung nötig" -#: git-gui.sh:1579 +#: git-gui.sh:1600 msgid "Starting gitk... please wait..." msgstr "Gitk wird gestartet... bitte warten." -#: git-gui.sh:1588 +#: git-gui.sh:1609 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -145,297 +145,295 @@ msgstr "" "\n" "%s existiert nicht" -#: git-gui.sh:1788 lib/choose_repository.tcl:32 +#: git-gui.sh:1809 lib/choose_repository.tcl:35 msgid "Repository" msgstr "Projektarchiv" -#: git-gui.sh:1789 +#: git-gui.sh:1810 msgid "Edit" msgstr "Bearbeiten" -#: git-gui.sh:1791 lib/choose_rev.tcl:560 +#: git-gui.sh:1812 lib/choose_rev.tcl:560 msgid "Branch" msgstr "Zweig" -#: git-gui.sh:1794 lib/choose_rev.tcl:547 +#: git-gui.sh:1815 lib/choose_rev.tcl:547 msgid "Commit@@noun" msgstr "Version" -#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1818 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "ZusammenfĂĽhren" -#: git-gui.sh:1798 lib/choose_rev.tcl:556 +#: git-gui.sh:1819 lib/choose_rev.tcl:556 msgid "Remote" -msgstr "Gegenseite" +msgstr "Andere Archive" -#: git-gui.sh:1807 +#: git-gui.sh:1828 msgid "Browse Current Branch's Files" msgstr "Aktuellen Zweig durchblättern" -#: git-gui.sh:1811 +#: git-gui.sh:1832 msgid "Browse Branch Files..." msgstr "Einen Zweig durchblättern..." -#: git-gui.sh:1816 +#: git-gui.sh:1837 msgid "Visualize Current Branch's History" msgstr "Aktuellen Zweig darstellen" -#: git-gui.sh:1820 +#: git-gui.sh:1841 msgid "Visualize All Branch History" msgstr "Alle Zweige darstellen" -#: git-gui.sh:1827 +#: git-gui.sh:1848 #, tcl-format msgid "Browse %s's Files" msgstr "Zweig »%s« durchblättern" -#: git-gui.sh:1829 +#: git-gui.sh:1850 #, tcl-format msgid "Visualize %s's History" msgstr "Historie von »%s« darstellen" -#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1855 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "Datenbankstatistik" -#: git-gui.sh:1837 lib/database.tcl:34 +#: git-gui.sh:1858 lib/database.tcl:34 msgid "Compress Database" msgstr "Datenbank komprimieren" -#: git-gui.sh:1840 +#: git-gui.sh:1861 msgid "Verify Database" msgstr "Datenbank ĂĽberprĂĽfen" -#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9 -#: lib/shortcut.tcl:45 lib/shortcut.tcl:84 +#: git-gui.sh:1868 git-gui.sh:1872 git-gui.sh:1876 lib/shortcut.tcl:7 +#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Desktop-Icon erstellen" -#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95 +#: git-gui.sh:1881 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 msgid "Quit" msgstr "Beenden" -#: git-gui.sh:1867 +#: git-gui.sh:1888 msgid "Undo" msgstr "RĂĽckgängig" -#: git-gui.sh:1870 +#: git-gui.sh:1891 msgid "Redo" msgstr "Wiederholen" -#: git-gui.sh:1874 git-gui.sh:2366 +#: git-gui.sh:1895 git-gui.sh:2388 msgid "Cut" msgstr "Ausschneiden" -#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512 +#: git-gui.sh:1898 git-gui.sh:2391 git-gui.sh:2462 git-gui.sh:2534 #: lib/console.tcl:67 msgid "Copy" msgstr "Kopieren" -#: git-gui.sh:1880 git-gui.sh:2372 +#: git-gui.sh:1901 git-gui.sh:2394 msgid "Paste" msgstr "EinfĂĽgen" -#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26 +#: git-gui.sh:1904 git-gui.sh:2397 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Löschen" -#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69 +#: git-gui.sh:1908 git-gui.sh:2401 git-gui.sh:2538 lib/console.tcl:69 msgid "Select All" msgstr "Alle auswählen" -#: git-gui.sh:1896 +#: git-gui.sh:1917 msgid "Create..." msgstr "Erstellen..." -#: git-gui.sh:1902 +#: git-gui.sh:1923 msgid "Checkout..." msgstr "Umstellen..." -#: git-gui.sh:1908 +#: git-gui.sh:1929 msgid "Rename..." msgstr "Umbenennen..." -#: git-gui.sh:1913 git-gui.sh:2012 +#: git-gui.sh:1934 git-gui.sh:2033 msgid "Delete..." msgstr "Löschen..." -#: git-gui.sh:1918 +#: git-gui.sh:1939 msgid "Reset..." msgstr "ZurĂĽcksetzen..." -#: git-gui.sh:1930 git-gui.sh:2313 +#: git-gui.sh:1951 git-gui.sh:2335 msgid "New Commit" msgstr "Neue Version" -#: git-gui.sh:1938 git-gui.sh:2320 +#: git-gui.sh:1959 git-gui.sh:2342 msgid "Amend Last Commit" msgstr "Letzte Version nachbessern" -#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:1968 git-gui.sh:2302 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Neu laden" -#: git-gui.sh:1953 +#: git-gui.sh:1974 msgid "Stage To Commit" msgstr "Zum Eintragen bereitstellen" -#: git-gui.sh:1958 +#: git-gui.sh:1979 msgid "Stage Changed Files To Commit" msgstr "Geänderte Dateien zum Eintragen bereitstellen" -#: git-gui.sh:1964 +#: git-gui.sh:1985 msgid "Unstage From Commit" msgstr "Aus der Bereitstellung herausnehmen" -#: git-gui.sh:1969 lib/index.tcl:352 +#: git-gui.sh:1990 lib/index.tcl:352 msgid "Revert Changes" msgstr "Ă„nderungen revidieren" -#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390 +#: git-gui.sh:1997 git-gui.sh:2314 git-gui.sh:2412 msgid "Sign Off" msgstr "Abzeichnen" -#: git-gui.sh:1980 git-gui.sh:2296 +#: git-gui.sh:2001 git-gui.sh:2318 msgid "Commit@@verb" msgstr "Eintragen" -#: git-gui.sh:1991 +#: git-gui.sh:2012 msgid "Local Merge..." msgstr "Lokales ZusammenfĂĽhren..." -#: git-gui.sh:1996 +#: git-gui.sh:2017 msgid "Abort Merge..." msgstr "ZusammenfĂĽhren abbrechen..." -#: git-gui.sh:2008 +#: git-gui.sh:2029 msgid "Push..." -msgstr "Ausliefern..." +msgstr "Versenden..." -#: git-gui.sh:2019 lib/choose_repository.tcl:41 +#: git-gui.sh:2040 lib/choose_repository.tcl:40 msgid "Apple" msgstr "Apple" -#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 +#: git-gui.sh:2043 git-gui.sh:2065 lib/about.tcl:13 +#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 #, tcl-format msgid "About %s" msgstr "Ăśber %s" -#: git-gui.sh:2026 +#: git-gui.sh:2047 msgid "Preferences..." -msgstr "" +msgstr "Einstellungen..." -#: git-gui.sh:2034 git-gui.sh:2558 +#: git-gui.sh:2055 git-gui.sh:2580 msgid "Options..." msgstr "Optionen..." -#: git-gui.sh:2040 lib/choose_repository.tcl:47 +#: git-gui.sh:2061 lib/choose_repository.tcl:46 msgid "Help" msgstr "Hilfe" -#: git-gui.sh:2081 +#: git-gui.sh:2102 msgid "Online Documentation" msgstr "Online-Dokumentation" -#: git-gui.sh:2165 +#: git-gui.sh:2186 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "" -#: git-gui.sh:2198 +#: git-gui.sh:2219 msgid "Current Branch:" msgstr "Aktueller Zweig:" -#: git-gui.sh:2219 -#, fuzzy +#: git-gui.sh:2240 msgid "Staged Changes (Will Commit)" -msgstr "Bereitgestellte Ă„nderungen (werden eingetragen)" +msgstr "Bereitgestellte Ă„nderungen (zum Eintragen)" -#: git-gui.sh:2239 -#, fuzzy +#: git-gui.sh:2259 msgid "Unstaged Changes" -msgstr "Geänderte bereitstellen" +msgstr "Nicht bereitgestellte Ă„nderungen" -#: git-gui.sh:2286 +#: git-gui.sh:2308 msgid "Stage Changed" -msgstr "Geänderte bereitstellen" +msgstr "Alles bereitstellen" -#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2324 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" -msgstr "Ausliefern" +msgstr "Versenden" -#: git-gui.sh:2332 +#: git-gui.sh:2354 msgid "Initial Commit Message:" -msgstr "Beschreibung der ersten Version:" +msgstr "Erste Versionsbeschreibung:" -#: git-gui.sh:2333 +#: git-gui.sh:2355 msgid "Amended Commit Message:" -msgstr "Beschreibung der nachgebesserten Version:" +msgstr "Nachgebesserte Versionsbeschreibung:" -#: git-gui.sh:2334 +#: git-gui.sh:2356 msgid "Amended Initial Commit Message:" -msgstr "Beschreibung der nachgebesserten ersten Version:" +msgstr "Nachgebesserte erste Versionsbeschreibung:" -#: git-gui.sh:2335 +#: git-gui.sh:2357 msgid "Amended Merge Commit Message:" -msgstr "Beschreibung der nachgebesserten ZusammenfĂĽhrungs-Version:" +msgstr "Nachgebesserte ZusammenfĂĽhrungs-Versionsbeschreibung:" -#: git-gui.sh:2336 +#: git-gui.sh:2358 msgid "Merge Commit Message:" -msgstr "Beschreibung der ZusammenfĂĽhrungs-Version:" +msgstr "ZusammenfĂĽhrungs-Versionsbeschreibung:" -#: git-gui.sh:2337 +#: git-gui.sh:2359 msgid "Commit Message:" msgstr "Versionsbeschreibung:" -#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71 +#: git-gui.sh:2404 git-gui.sh:2542 lib/console.tcl:71 msgid "Copy All" msgstr "Alle kopieren" -#: git-gui.sh:2406 lib/blame.tcl:104 +#: git-gui.sh:2428 lib/blame.tcl:104 msgid "File:" msgstr "Datei:" -#: git-gui.sh:2508 +#: git-gui.sh:2530 msgid "Refresh" msgstr "Aktualisieren" -#: git-gui.sh:2529 +#: git-gui.sh:2551 msgid "Apply/Reverse Hunk" msgstr "Ă„nderung anwenden/umkehren" -#: git-gui.sh:2535 +#: git-gui.sh:2557 msgid "Decrease Font Size" msgstr "Schriftgröße verkleinern" -#: git-gui.sh:2539 +#: git-gui.sh:2561 msgid "Increase Font Size" msgstr "Schriftgröße vergrößern" -#: git-gui.sh:2544 +#: git-gui.sh:2566 msgid "Show Less Context" msgstr "Weniger Kontext anzeigen" -#: git-gui.sh:2551 +#: git-gui.sh:2573 msgid "Show More Context" msgstr "Mehr Kontext anzeigen" -#: git-gui.sh:2565 +#: git-gui.sh:2587 msgid "Unstage Hunk From Commit" msgstr "Aus der Bereitstellung herausnehmen" -#: git-gui.sh:2567 +#: git-gui.sh:2589 msgid "Stage Hunk For Commit" msgstr "In die Bereitstellung hinzufĂĽgen" -#: git-gui.sh:2586 +#: git-gui.sh:2608 msgid "Initializing..." msgstr "Initialisieren..." -#: git-gui.sh:2677 +#: git-gui.sh:2699 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -446,14 +444,14 @@ msgid "" "\n" msgstr "" -#: git-gui.sh:2707 +#: git-gui.sh:2729 msgid "" "\n" "This is due to a known issue with the\n" "Tcl binary distributed by Cygwin." msgstr "" -#: git-gui.sh:2712 +#: git-gui.sh:2734 #, tcl-format msgid "" "\n" @@ -515,11 +513,11 @@ msgstr "Eintragender:" #: lib/blame.tcl:796 msgid "Original File:" -msgstr "" +msgstr "UrsprĂĽngliche Datei:" #: lib/blame.tcl:910 msgid "Originally By:" -msgstr "" +msgstr "UrsprĂĽnglich von:" #: lib/blame.tcl:916 msgid "In File:" @@ -527,7 +525,7 @@ msgstr "In Datei:" #: lib/blame.tcl:921 msgid "Copied Or Moved Here By:" -msgstr "" +msgstr "Kopiert oder verschoben durch:" #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" @@ -568,7 +566,7 @@ msgstr "Zweig erstellen" msgid "Create New Branch" msgstr "Neuen Zweig erstellen" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 msgid "Create" msgstr "Erstellen" @@ -615,7 +613,7 @@ 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." +msgstr "Ăśbernahmezweig »%s« ist kein Zweig im anderen Projektarchiv." #: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 msgid "Please supply a branch name." @@ -721,9 +719,9 @@ msgstr "[Nach oben]" msgid "Browse Branch Files" msgstr "Dateien des Zweigs durchblättern" -#: lib/browser.tcl:277 lib/choose_repository.tcl:215 -#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315 -#: lib/choose_repository.tcl:811 +#: lib/browser.tcl:277 lib/choose_repository.tcl:391 +#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 +#: lib/choose_repository.tcl:989 msgid "Browse" msgstr "Blättern" @@ -889,209 +887,225 @@ msgstr "" "Dies ist ein Beispieltext.\n" "Wenn Ihnen dieser Text gefällt, sollten Sie diese Schriftart wählen." -#: lib/choose_repository.tcl:25 +#: lib/choose_repository.tcl:27 msgid "Git Gui" msgstr "Git Gui" -#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 +#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 msgid "Create New Repository" msgstr "Neues Projektarchiv" -#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 +#: lib/choose_repository.tcl:86 +msgid "New..." +msgstr "Neu..." + +#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 msgid "Clone Existing Repository" msgstr "Projektarchiv kopieren" -#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 +#: lib/choose_repository.tcl:99 +msgid "Clone..." +msgstr "Kopieren..." + +#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 msgid "Open Existing Repository" msgstr "Projektarchiv öffnen" -#: lib/choose_repository.tcl:91 -msgid "Next >" -msgstr "Weiter >" +#: lib/choose_repository.tcl:112 +msgid "Open..." +msgstr "Ă–ffnen..." -#: lib/choose_repository.tcl:152 +#: lib/choose_repository.tcl:125 +msgid "Recent Repositories" +msgstr "Zuletzt benutzte Projektarchive" + +#: lib/choose_repository.tcl:131 +msgid "Open Recent Repository:" +msgstr "Zuletzt benutztes Projektarchiv öffnen:" + +#: lib/choose_repository.tcl:294 #, tcl-format msgid "Location %s already exists." msgstr "Projektarchiv »%s« existiert bereits." -#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 -#: lib/choose_repository.tcl:172 +#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 +#: lib/choose_repository.tcl:314 #, tcl-format msgid "Failed to create repository %s:" msgstr "Projektarchiv »%s« konnte nicht erstellt werden:" -#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 +#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 msgid "Directory:" msgstr "Verzeichnis:" -#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 -#: lib/choose_repository.tcl:834 +#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1013 msgid "Git Repository" msgstr "Git Projektarchiv" -#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260 +#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "Verzeichnis »%s« existiert bereits." -#: lib/choose_repository.tcl:265 +#: lib/choose_repository.tcl:442 #, tcl-format msgid "File %s already exists." msgstr "Datei »%s« existiert bereits." -#: lib/choose_repository.tcl:286 +#: lib/choose_repository.tcl:463 msgid "Clone" msgstr "Kopieren" -#: lib/choose_repository.tcl:299 +#: lib/choose_repository.tcl:476 msgid "URL:" msgstr "URL:" -#: lib/choose_repository.tcl:319 +#: lib/choose_repository.tcl:496 msgid "Clone Type:" msgstr "Art der Kopie:" -#: lib/choose_repository.tcl:325 +#: lib/choose_repository.tcl:502 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" -msgstr "" +msgstr "Standard (schnell, teilweise redundant, Hardlinks)" -#: lib/choose_repository.tcl:331 +#: lib/choose_repository.tcl:508 msgid "Full Copy (Slower, Redundant Backup)" -msgstr "" +msgstr "Alles kopieren (langsamer, volle Redundanz)" -#: lib/choose_repository.tcl:337 +#: lib/choose_repository.tcl:514 msgid "Shared (Fastest, Not Recommended, No Backup)" -msgstr "" +msgstr "VerknĂĽpft (schnell, nicht empfohlen, kein Backup)" -#: 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 +#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 +#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 +#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 #, tcl-format msgid "Not a Git repository: %s" msgstr "Kein Git-Projektarchiv in »%s« gefunden." -#: lib/choose_repository.tcl:405 +#: lib/choose_repository.tcl:586 msgid "Standard only available for local repository." -msgstr "" +msgstr "Standard ist nur fĂĽr lokale Projektarchive verfĂĽgbar." -#: lib/choose_repository.tcl:409 +#: lib/choose_repository.tcl:590 msgid "Shared only available for local repository." -msgstr "" +msgstr "VerknĂĽpft ist nur fĂĽr lokale Projektarchive verfĂĽgbar." -#: lib/choose_repository.tcl:439 +#: lib/choose_repository.tcl:617 msgid "Failed to configure origin" msgstr "" -#: lib/choose_repository.tcl:451 +#: lib/choose_repository.tcl:629 msgid "Counting objects" msgstr "" -#: lib/choose_repository.tcl:452 +#: lib/choose_repository.tcl:630 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:654 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "" -#: lib/choose_repository.tcl:512 +#: lib/choose_repository.tcl:690 #, tcl-format msgid "Nothing to clone from %s." msgstr "Von »%s« konnte nichts kopiert werden." -#: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728 -#: lib/choose_repository.tcl:740 +#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 +#: lib/choose_repository.tcl:918 msgid "The 'master' branch has not been initialized." msgstr "" -#: lib/choose_repository.tcl:527 +#: lib/choose_repository.tcl:705 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "" -#: lib/choose_repository.tcl:539 +#: lib/choose_repository.tcl:717 #, tcl-format msgid "Cloning from %s" msgstr "Kopieren von »%s«" -#: lib/choose_repository.tcl:570 +#: lib/choose_repository.tcl:748 msgid "Copying objects" msgstr "Objektdatenbank kopieren" -#: lib/choose_repository.tcl:571 +#: lib/choose_repository.tcl:749 msgid "KiB" msgstr "KB" -#: lib/choose_repository.tcl:595 +#: lib/choose_repository.tcl:773 #, tcl-format msgid "Unable to copy object: %s" msgstr "Objekt kann nicht kopiert werden: %s" -#: lib/choose_repository.tcl:605 +#: lib/choose_repository.tcl:783 msgid "Linking objects" msgstr "Objekte verlinken" -#: lib/choose_repository.tcl:606 +#: lib/choose_repository.tcl:784 msgid "objects" msgstr "Objekte" -#: lib/choose_repository.tcl:614 +#: lib/choose_repository.tcl:792 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Objekt kann nicht hartverlinkt werden: %s" -#: lib/choose_repository.tcl:669 +#: lib/choose_repository.tcl:847 msgid "Cannot fetch branches and objects. See console output for details." msgstr "" -#: lib/choose_repository.tcl:680 +#: lib/choose_repository.tcl:858 msgid "Cannot fetch tags. See console output for details." msgstr "" -#: lib/choose_repository.tcl:704 +#: lib/choose_repository.tcl:882 msgid "Cannot determine HEAD. See console output for details." msgstr "" -#: lib/choose_repository.tcl:713 +#: lib/choose_repository.tcl:891 #, tcl-format msgid "Unable to cleanup %s" msgstr "" -#: lib/choose_repository.tcl:719 +#: lib/choose_repository.tcl:897 msgid "Clone failed." msgstr "Kopieren fehlgeschlagen." -#: lib/choose_repository.tcl:726 +#: lib/choose_repository.tcl:904 msgid "No default branch obtained." msgstr "" -#: lib/choose_repository.tcl:737 +#: lib/choose_repository.tcl:915 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "" -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:927 msgid "Creating working directory" msgstr "Arbeitskopie erstellen" -#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 +#: lib/choose_repository.tcl:928 lib/index.tcl:15 lib/index.tcl:80 #: lib/index.tcl:149 msgid "files" msgstr "Dateien" -#: lib/choose_repository.tcl:779 +#: lib/choose_repository.tcl:957 msgid "Initial file checkout failed." msgstr "" -#: lib/choose_repository.tcl:795 +#: lib/choose_repository.tcl:973 msgid "Open" msgstr "Ă–ffnen" -#: lib/choose_repository.tcl:805 +#: lib/choose_repository.tcl:983 msgid "Repository:" msgstr "Projektarchiv:" -#: lib/choose_repository.tcl:854 +#: lib/choose_repository.tcl:1033 #, tcl-format msgid "Failed to open repository %s:" msgstr "Projektarchiv »%s« konnte nicht geöffnet werden." @@ -1326,7 +1340,7 @@ msgstr "Festplattenplatz von komprimierten Objekten" #: lib/database.tcl:48 msgid "Packed objects waiting for pruning" -msgstr "Komprimierte Objekte, die zum Löschen vorgesehen sind" +msgstr "Komprimierte Objekte, die zum Entfernen vorgesehen sind" #: lib/database.tcl:49 msgid "Garbage files" @@ -1644,7 +1658,7 @@ msgstr "Auf Dateiänderungsdatum verlassen" #: lib/option.tcl:111 msgid "Prune Tracking Branches During Fetch" -msgstr "Ăśbernahmezweige löschen während Anforderung" +msgstr "Ăśbernahmezweige entfernen während Anforderung" #: lib/option.tcl:112 msgid "Match Tracking Branches" @@ -1673,30 +1687,15 @@ msgstr "pt." #: lib/option.tcl:200 msgid "Preferences" -msgstr "" +msgstr "Einstellungen" #: 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" +msgstr "Zweig im anderen Projektarchiv löschen" #: lib/remote_branch_delete.tcl:47 msgid "From Repository" @@ -1704,7 +1703,7 @@ msgstr "Von Projektarchiv" #: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 msgid "Remote:" -msgstr "Gegenseite:" +msgstr "Anderes Archiv:" #: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 msgid "Arbitrary URL:" @@ -1780,11 +1779,23 @@ msgstr "Kein Projektarchiv ausgewählt." msgid "Scanning %s..." msgstr "»%s« laden..." -#: lib/shortcut.tcl:26 lib/shortcut.tcl:74 -msgid "Cannot write script:" -msgstr "Fehler beim Schreiben des Scripts:" +#: lib/remote.tcl:165 +msgid "Prune from" +msgstr "Entfernen von" -#: lib/shortcut.tcl:149 +#: lib/remote.tcl:170 +msgid "Fetch from" +msgstr "Anfordern von" + +#: lib/remote.tcl:213 +msgid "Push to" +msgstr "Versenden nach" + +#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 +msgid "Cannot write shortcut:" +msgstr "Fehler beim Schreiben der VerknĂĽpfung:" + +#: lib/shortcut.tcl:136 msgid "Cannot write icon:" msgstr "Fehler beim Erstellen des Icons:" @@ -1806,31 +1817,31 @@ msgstr "Neue Ă„nderungen von »%s« holen" #: lib/transport.tcl:18 #, tcl-format msgid "remote prune %s" -msgstr "" +msgstr "Entfernen von »%s« im anderen Archiv" #: lib/transport.tcl:19 #, tcl-format msgid "Pruning tracking branches deleted from %s" -msgstr "Ăśbernahmezweige löschen, die in »%s« gelöscht wurden" +msgstr "Ăśbernahmezweige entfernen, die in »%s« gelöscht wurden" #: lib/transport.tcl:25 lib/transport.tcl:71 #, tcl-format msgid "push %s" -msgstr "»%s« ausliefern..." +msgstr "»%s« versenden..." #: lib/transport.tcl:26 #, tcl-format msgid "Pushing changes to %s" -msgstr "Ă„nderungen nach »%s« ausliefern" +msgstr "Ă„nderungen nach »%s« versenden" #: lib/transport.tcl:72 #, tcl-format msgid "Pushing %s %s to %s" -msgstr "%s %s nach %s ausliefern" +msgstr "%s %s nach %s versenden" #: lib/transport.tcl:89 msgid "Push Branches" -msgstr "Zweige ausliefern" +msgstr "Zweige versenden" #: lib/transport.tcl:103 msgid "Source Branches" @@ -1857,6 +1868,9 @@ msgstr "Kompaktes Datenformat benutzen (fĂĽr langsame Netzverbindungen)" msgid "Include tags" msgstr "Mit Markierungen ĂĽbertragen" +#~ msgid "Next >" +#~ msgstr "Weiter >" + #~ msgid "Fetch" #~ msgstr "Anfordern" diff --git a/po/glossary/de.po b/po/glossary/de.po index 054cf4df5a..c94786c6ab 100644 --- a/po/glossary/de.po +++ b/po/glossary/de.po @@ -6,8 +6,8 @@ msgid "" msgstr "" "Project-Id-Version: git-gui glossary\n" -"POT-Creation-Date: 2007-10-05 22:30+0200\n" -"PO-Revision-Date: 2007-10-05 22:32+0200\n" +"POT-Creation-Date: 2007-10-19 21:43+0200\n" +"PO-Revision-Date: 2007-10-20 15:24+0200\n" "Last-Translator: Christian Stimming \n" "Language-Team: German \n" "MIME-Version: 1.0\n" @@ -108,9 +108,9 @@ msgstr "zusammenfĂĽhren" msgid "message" msgstr "Beschreibung (Meldung?, Nachricht?; Source Safe: Kommentar)" -#. "" +#. "Deletes all stale tracking branches under . These stale branches have already been removed from the remote repository referenced by , but are still locally available in 'remotes/'." msgid "prune" -msgstr "löschen" +msgstr "entfernen" #. "Pulling a branch means to fetch it and merge it." msgid "pull" @@ -118,12 +118,16 @@ 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?)" +msgstr "versenden (ausliefern? hochladen? verschicken? schieben?)" #. "" msgid "redo" msgstr "wiederholen" +#. "An other repository ('remote'). One might have a set of remotes whose branches one tracks." +msgid "remote" +msgstr "Andere Archive (Gegenseite?, Entfernte?, Server?)" + #. "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" From c43ff43601201e17be8882ee199542282f1531eb Mon Sep 17 00:00:00 2001 From: Kirill Date: Sat, 20 Oct 2007 15:35:53 -0400 Subject: [PATCH 084/187] Updated Russian translation. The most important changes are: - Git version cannot be determined... (lost in 57364320bf) - git-gui: fatal error Some changes need the second opinion (search for TOVERIFY), some changes are just copies (search for "carbon copy"). Signed-off-by: Shawn O. Pearce --- po/ru.po | 331 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 190 insertions(+), 141 deletions(-) diff --git a/po/ru.po b/po/ru.po index 3beaf9d52e..ed5b67a95c 100644 --- a/po/ru.po +++ b/po/ru.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \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" +"PO-Revision-Date: 2007-10-20 14:29-0500\n" +"Last-Translator: Kirill \n" "Language-Team: Russian Translation \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -18,7 +18,7 @@ msgstr "" #: 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 "" +msgstr "git-gui: критичеŃкая ĐľŃибка" #: git-gui.sh:595 #, fuzzy, tcl-format @@ -52,6 +52,12 @@ msgid "" "\n" "Assume '%s' is version 1.5.0?\n" msgstr "" +"Невозможно определить верŃию Git\n" +"%s Ńказывает на верŃию '%s'.\n" +"\n" +"для %s требŃетŃŃŹ верŃия Git, начиная Ń 1.5.0\n" +"\n" +"Принять '%s' как верŃию 1.5.0?\n" #: git-gui.sh:853 msgid "Git directory not found:" @@ -153,7 +159,7 @@ msgstr "Ветвь" #: git-gui.sh:1794 lib/choose_rev.tcl:547 #, fuzzy msgid "Commit@@noun" -msgstr "Сохранить" +msgstr "СоŃтояние" #: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" @@ -187,9 +193,9 @@ msgid "Browse %s's Files" msgstr "Показать файлы ветви" #: git-gui.sh:1829 -#, fuzzy, tcl-format +#, tcl-format msgid "Visualize %s's History" -msgstr "ĐŃтория вŃех ветвей наглядно" +msgstr "ĐŃтория ветви %s наглядно" #: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" @@ -277,12 +283,12 @@ msgstr "Перечитать" #: git-gui.sh:1953 #, fuzzy msgid "Stage To Commit" -msgstr "Подготовлено для Ńохранения" +msgstr "Подготовить для Ńохранения" #: git-gui.sh:1958 #, fuzzy msgid "Stage Changed Files To Commit" -msgstr "Подготовлено (бŃдет Ńохранено)" +msgstr "Подготовить измененные файлы для Ńохранения" #: git-gui.sh:1964 msgid "Unstage From Commit" @@ -313,9 +319,11 @@ msgstr "Прервать объединение..." msgid "Push..." msgstr "Отправить..." +# carbon copy #: git-gui.sh:2019 lib/choose_repository.tcl:41 +#, fuzzy msgid "Apple" -msgstr "" +msgstr "Apple" #: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13 #: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 @@ -325,7 +333,7 @@ msgstr "Đž %s" #: git-gui.sh:2026 msgid "Preferences..." -msgstr "" +msgstr "НаŃтройки..." #: git-gui.sh:2034 git-gui.sh:2558 msgid "Options..." @@ -339,10 +347,11 @@ msgstr "Помощь" msgid "Online Documentation" msgstr "ДокŃментация в интернете" +# TOVERIFY #: git-gui.sh:2165 -#, tcl-format +#, fuzzy, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" -msgstr "" +msgstr "критичеŃкая ĐľŃибка: %s: нет такого файла или каталога" #: git-gui.sh:2198 msgid "Current Branch:" @@ -353,13 +362,17 @@ msgstr "ТекŃщая ветвь:" msgid "Staged Changes (Will Commit)" msgstr "Подготовлено (бŃдет Ńохранено)" +# TOVERIFY #: git-gui.sh:2239 +#, fuzzy msgid "Unstaged Changes" -msgstr "" +msgstr "Đзменено" +# carbon copy #: git-gui.sh:2286 +#, fuzzy msgid "Stage Changed" -msgstr "" +msgstr "Stage Changed" #: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" @@ -447,13 +460,24 @@ msgid "" "by %s:\n" "\n" msgstr "" +"Возможны ĐľŃибки в переменных окрŃжения.\n" +"\n" +"Переменные окрŃжения, которые возможно\n" +"бŃĐ´ŃŃ‚ проигнорированы командами Git,\n" +"запŃщенными из %s\n" +"\n" +# TOVERIFY #: git-gui.sh:2707 +#, fuzzy msgid "" "\n" "This is due to a known issue with the\n" "Tcl binary distributed by Cygwin." msgstr "" +"\n" +"Это извеŃтная проблема Ń Tcl,\n" +"раŃпроŃтраняемым Cygwin." #: git-gui.sh:2712 #, tcl-format @@ -465,6 +489,12 @@ msgid "" "user.email settings into your personal\n" "~/.gitconfig file.\n" msgstr "" +"\n" +"\n" +"ХороŃая замена для %s\n" +"Ńохраняет значения для user.name и\n" +"user.email в Đ’Đ°Ń ĐżĐµŃ€Ńональный\n" +"~/.gitconfig файл.\n" #: lib/about.tcl:25 msgid "git-gui - a graphical user interface for Git." @@ -487,21 +517,29 @@ msgstr "Копировать Ńохраненное ŃĐľŃтояние" msgid "Reading %s..." msgstr "Чтение %s..." +# carbon copy #: lib/blame.tcl:473 +#, fuzzy msgid "Loading copy/move tracking annotations..." -msgstr "" +msgstr "Loading copy/move tracking annotations..." +# TOVERIFY #: lib/blame.tcl:493 +#, fuzzy msgid "lines annotated" -msgstr "" +msgstr "Ńтрок прокоментировано" +# carbon copy #: lib/blame.tcl:674 +#, fuzzy msgid "Loading original location annotations..." -msgstr "" +msgstr "Loading original location annotations..." +# carbon copy #: lib/blame.tcl:677 +#, fuzzy msgid "Annotation complete." -msgstr "" +msgstr "Annotation complete." #: lib/blame.tcl:731 #, fuzzy @@ -510,7 +548,7 @@ msgstr "ЗагрŃзка %s..." #: lib/blame.tcl:787 msgid "Author:" -msgstr "" +msgstr "Đвтор:" #: lib/blame.tcl:791 #, fuzzy @@ -519,11 +557,13 @@ msgstr "Сохраненное ŃĐľŃтояние:" #: lib/blame.tcl:796 msgid "Original File:" -msgstr "" +msgstr "ĐŃходный файл:" +# carbon copy #: lib/blame.tcl:910 +#, fuzzy msgid "Originally By:" -msgstr "" +msgstr "Originally By:" #: lib/blame.tcl:916 #, fuzzy @@ -532,7 +572,7 @@ msgstr "Файл:" #: lib/blame.tcl:921 msgid "Copied Or Moved Here By:" -msgstr "" +msgstr "Кто Ńкопировал/перемеŃтил Ńюда:" #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" @@ -720,7 +760,7 @@ msgstr "ЗагрŃзка %s..." #: lib/browser.tcl:186 msgid "[Up To Parent]" -msgstr "" +msgstr "[На Ńровень выŃе]" #: lib/browser.tcl:266 lib/browser.tcl:272 msgid "Browse Branch Files" @@ -740,7 +780,7 @@ msgstr "ПолŃчение изменений из %s " #: lib/checkout_op.tcl:127 #, tcl-format msgid "fatal: Cannot resolve %s" -msgstr "" +msgstr "критичеŃкая ĐľŃибка: не ĐĽĐľĐłŃ Ń€Đ°Ńпознать %s" #: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" @@ -783,15 +823,13 @@ msgstr "ĐĐ˝Đ´ĐµĐşŃ Đ·Đ°Đ±Đ»ĐľĐşĐ¸Ń€ĐľĐ˛Đ°Đ˝." 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" +"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" +"С момента поŃледней проверки репозиторий был изменен Đ´Ń€Ńгой программой Git.Необходимо перечитать репозиторий, прежде чем изменять текŃщŃŃŽ ветвь. \n" "\n" "Это бŃдет Ńделано ŃĐµĐąŃ‡Đ°Ń Đ°Đ˛Ń‚ĐľĐĽĐ°Ń‚Đ¸Ń‡ĐµŃки.\n" @@ -818,13 +856,11 @@ msgstr "Ветвь '%s' ĐľŃтаетŃŃŹ текŃщей." 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'." +"If you wanted to be on a branch, create one now starting from 'This Detached Checkout'." msgstr "" "Đ’Ń‹ находитеŃŃŚ не в локальной ветви.\n" "\n" -"Đ•Ńли вы хотите Ńнова вернŃтьŃŃŹ Đş какой-нибŃĐ´ŃŚ ветви, Ńоздайте ее ŃейчаŃ, " -"начиная Ń 'ТекŃщего отŃоединенного ŃĐľŃтояния'." +"Đ•Ńли вы хотите Ńнова вернŃтьŃŃŹ Đş какой-нибŃĐ´ŃŚ ветви, Ńоздайте ее ŃейчаŃ, начиная Ń 'ТекŃщего отŃоединенного ŃĐľŃтояния'." #: lib/checkout_op.tcl:446 #, fuzzy, tcl-format @@ -854,15 +890,13 @@ msgstr "Наглядно" 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" +"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" +"Đ’Đ°Ń Ń€Đ°Đ±ĐľŃ‡Đ¸Đą каталог обновлен только чаŃтично. Были обновлены вŃе файлы кроме ŃĐ»Ńжебных файлов Git. \n" "\n" "Этого не должно было произойти. %s заверŃаетŃŃŹ." @@ -873,7 +907,7 @@ msgstr "Выделить вŃе" #: lib/choose_font.tcl:53 msgid "Font Family" -msgstr "" +msgstr "Шрифт" #: lib/choose_font.tcl:73 #, fuzzy @@ -882,17 +916,20 @@ msgstr "УменьŃить размер Ńрифта" #: lib/choose_font.tcl:90 msgid "Font Example" -msgstr "" +msgstr "Пример текŃта" +# TOVERIFY: what's the Russian version of the font sample (see Windows Fonts). #: lib/choose_font.tcl:101 msgid "" "This is example text.\n" "If you like this text, it can be your font." msgstr "" +"Это пример текŃта.\n" +"Đ•Ńли Вам нравитŃŃŹ этот текŃŃ‚, это может быть Đ’Đ°Ń Ńрифт." #: lib/choose_repository.tcl:25 msgid "Git Gui" -msgstr "" +msgstr "Git Gui" #: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 #, fuzzy @@ -909,9 +946,11 @@ msgstr "Репозиторий назначения" msgid "Open Existing Repository" msgstr "Репозиторий назначения" +# TOVERIFY #: lib/choose_repository.tcl:91 +#, fuzzy msgid "Next >" -msgstr "" +msgstr "ДальŃе >" #: lib/choose_repository.tcl:152 #, fuzzy, tcl-format @@ -926,7 +965,7 @@ msgstr "Не ŃдалоŃŃŚ полноŃтью Ńохранить наŃтрой #: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 msgid "Directory:" -msgstr "" +msgstr "Каталог:" #: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 #: lib/choose_repository.tcl:834 @@ -951,23 +990,31 @@ msgstr "Закрыть" #: lib/choose_repository.tcl:299 msgid "URL:" -msgstr "" +msgstr "СŃылка:" +# TOVERIFY #: lib/choose_repository.tcl:319 +#, fuzzy msgid "Clone Type:" -msgstr "" +msgstr "Тип клона:" +# TOVERIFY #: lib/choose_repository.tcl:325 +#, fuzzy msgid "Standard (Fast, Semi-Redundant, Hardlinks)" -msgstr "" +msgstr "Стандартный (БыŃтрый, полŃизбыточный, \"жеŃткие\" ŃŃылки)" +# TOVERIFY #: lib/choose_repository.tcl:331 +#, fuzzy msgid "Full Copy (Slower, Redundant Backup)" -msgstr "" +msgstr "Полная копия (Медленный, избыточная резервная копия)" +# TOVERIFY #: lib/choose_repository.tcl:337 +#, fuzzy msgid "Shared (Fastest, Not Recommended, No Backup)" -msgstr "" +msgstr "Общий (Самый быŃтрый, не рекомендŃетŃŃŹ, без резервной копии)" #: lib/choose_repository.tcl:369 lib/choose_repository.tcl:418 #: lib/choose_repository.tcl:560 lib/choose_repository.tcl:630 @@ -976,44 +1023,57 @@ msgstr "" msgid "Not a Git repository: %s" msgstr "Не Ńказан репозиторий" +# TOVERIFY #: lib/choose_repository.tcl:405 +#, fuzzy msgid "Standard only available for local repository." -msgstr "" +msgstr "Стандартный клон возможен только для локального репозитория." +# TOVERIFY #: lib/choose_repository.tcl:409 +#, fuzzy msgid "Shared only available for local repository." -msgstr "" +msgstr "Общий клон возможен только для локального репозитория." +# TOVERIFY #: lib/choose_repository.tcl:439 +#, fuzzy msgid "Failed to configure origin" -msgstr "" +msgstr "Не ĐĽĐľĐłŃ ŃконфигŃрировать иŃкходник." #: lib/choose_repository.tcl:451 msgid "Counting objects" -msgstr "" +msgstr "Считаю объекты" +# carbon copy #: lib/choose_repository.tcl:452 +#, fuzzy msgid "buckets" -msgstr "" +msgstr "buckets" +# TOVERIFY #: lib/choose_repository.tcl:476 -#, tcl-format +#, fuzzy, tcl-format msgid "Unable to copy objects/info/alternates: %s" -msgstr "" +msgstr "Не ĐĽĐľĐłŃ Ńкопировать объекты/инфо/альтернативы: %s" #: lib/choose_repository.tcl:512 #, fuzzy, tcl-format msgid "Nothing to clone from %s." msgstr "ПолŃчение изменений из %s " +# TOVERIFY #: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728 #: lib/choose_repository.tcl:740 +#, fuzzy msgid "The 'master' branch has not been initialized." -msgstr "" +msgstr "Не инициализирована ветвь 'master'." +# TOVERIFY #: lib/choose_repository.tcl:527 +#, fuzzy msgid "Hardlinks are unavailable. Falling back to copying." -msgstr "" +msgstr "\"ЖеŃткие ŃŃылки\" не Đ´ĐľŃŃ‚Ńпны. Đ‘ŃĐ´Ń Đ¸Ńпользовать копирование." #: lib/choose_repository.tcl:539 #, fuzzy, tcl-format @@ -1027,55 +1087,64 @@ msgstr "Сжатие базы объектов" #: lib/choose_repository.tcl:571 msgid "KiB" -msgstr "" +msgstr "КБ" #: lib/choose_repository.tcl:595 #, tcl-format msgid "Unable to copy object: %s" -msgstr "" +msgstr "Не ĐĽĐľĐłŃ Ńкопировать объект: %s" #: lib/choose_repository.tcl:605 msgid "Linking objects" -msgstr "" +msgstr "Связываю объекты" +# TOVERIFY #: lib/choose_repository.tcl:606 +#, fuzzy msgid "objects" -msgstr "" +msgstr "объектов" +# TOVERIFY #: lib/choose_repository.tcl:614 -#, tcl-format +#, fuzzy, tcl-format msgid "Unable to hardlink object: %s" -msgstr "" +msgstr "Не ĐĽĐľĐłŃ \"жеŃтко Ńвязать\" объект: %s" +# TOVERIFY #: lib/choose_repository.tcl:669 +#, fuzzy msgid "Cannot fetch branches and objects. See console output for details." -msgstr "" +msgstr "Не ĐĽĐľĐłŃ ĐżĐľĐ»Ńчить ветви и объекты. Детали - на конŃоле." +# TOVERIFY #: lib/choose_repository.tcl:680 +#, fuzzy msgid "Cannot fetch tags. See console output for details." -msgstr "" +msgstr "Не ĐĽĐľĐłŃ ĐżĐľĐ»Ńчить таги. Детали - на конŃоле." +# TOVERIFY #: lib/choose_repository.tcl:704 +#, fuzzy msgid "Cannot determine HEAD. See console output for details." -msgstr "" +msgstr "Не ĐĽĐľĐłŃ ĐľĐżŃ€ĐµĐ´ĐµĐ»Đ¸Ń‚ŃŚ главнŃŃŽ ветвь. Детали - на конŃоле." #: lib/choose_repository.tcl:713 #, tcl-format msgid "Unable to cleanup %s" -msgstr "" +msgstr "Не ĐĽĐľĐłŃ ĐżĐľŃ‡Đ¸Ńтить %s" #: lib/choose_repository.tcl:719 msgid "Clone failed." -msgstr "" +msgstr "Клонирование не ŃдалоŃŃŚ." #: lib/choose_repository.tcl:726 msgid "No default branch obtained." -msgstr "" +msgstr "Не возможно полŃчить ветвь по Ńмолчанию." #: lib/choose_repository.tcl:737 #, tcl-format msgid "Cannot resolve %s as a commit." -msgstr "" +msgstr "Не ĐĽĐľĐłŃ Ń€Đ°Ńпознать %s как ŃĐľŃтояние." #: lib/choose_repository.tcl:749 #, fuzzy @@ -1085,15 +1154,15 @@ msgstr "ОтŃŃŃ‚ŃтвŃет рабочий каталог" #: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 #: lib/index.tcl:149 msgid "files" -msgstr "" +msgstr "файлов" #: lib/choose_repository.tcl:779 msgid "Initial file checkout failed." -msgstr "" +msgstr "Первое полŃчение файла не ŃдалоŃŃŚ." #: lib/choose_repository.tcl:795 msgid "Open" -msgstr "" +msgstr "Открыть" #: lib/choose_repository.tcl:805 #, fuzzy @@ -1140,36 +1209,31 @@ msgstr "ĐźŃŃтое выражения для определения верŃи #: lib/choose_rev.tcl:530 msgid "Updated" -msgstr "" +msgstr "Обновлено" #: lib/choose_rev.tcl:558 msgid "URL" -msgstr "" +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" +"You are about to create the initial commit. There is no commit before this to amend.\n" msgstr "" "ОтŃŃŃ‚ŃтвŃет ŃĐľŃтояние для иŃправления.\n" "\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" +"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" +"ТекŃщее объединение не заверŃено. Невозможно иŃправить предыдŃщее Ńохраненное ŃĐľŃтояние не прерывая текŃщее объединение.\n" #: lib/commit.tcl:49 msgid "Error loading commit data for amend:" @@ -1187,15 +1251,13 @@ msgstr "Неверная GIT_COMMITTER_IDENT:" 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" +"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" +"С момента поŃледней проверки репозиторий был изменен Đ´Ń€Ńгой программой Git.Необходимо перечитать репозиторий, прежде чем изменять текŃщŃŃŽ ветвь. \n" "\n" "Это бŃдет Ńделано ŃĐµĐąŃ‡Đ°Ń Đ°Đ˛Ń‚ĐľĐĽĐ°Ń‚Đ¸Ń‡ĐµŃки.\n" @@ -1204,13 +1266,11 @@ msgstr "" msgid "" "Unmerged files cannot be committed.\n" "\n" -"File %s has merge conflicts. You must resolve them and stage 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 @@ -1259,7 +1319,7 @@ msgstr "Программа write-tree заверŃилаŃŃŚ Ń ĐľŃибкой:" #: lib/commit.tcl:275 #, tcl-format msgid "Commit %s appears to be corrupt" -msgstr "" +msgstr "СоŃтояние %s выглядит поврежденным" #: lib/commit.tcl:279 msgid "" @@ -1282,7 +1342,7 @@ msgstr "ОтŃŃтвŃŃŽŃ‚ измения для Ńохранения." #: lib/commit.tcl:303 #, tcl-format msgid "warning: Tcl does not support encoding '%s'." -msgstr "" +msgstr "предŃпреждение: Tcl не поддерживает ĐşĐľĐ´Đ¸Ń€ĐľĐ˛ĐşŃ '%s'." #: lib/commit.tcl:317 msgid "commit-tree failed:" @@ -1350,11 +1410,15 @@ msgstr "Проверка базы объектов при помощи fsck" 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" +"To maintain optimal performance it is strongly recommended that you compress the database when more than %i loose objects exist.\n" "\n" "Compress the database now?" msgstr "" +"Этот репозиторий ŃĐµĐąŃ‡Đ°Ń Ńодержит примерно %i Ńвободных объектов\n" +"\n" +"Для Đ»ŃчŃей производительноŃти рекомендŃетŃŃŹ Ńжать Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń…, когда еŃть более %i Ńвободных объектов.\n" +"\n" +"Сжать Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń… ŃейчаŃ?" #: lib/date.tcl:25 #, fuzzy, tcl-format @@ -1368,18 +1432,15 @@ msgid "" "\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" +"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." +"A rescan will be automatically started to find other files which may have the same state." msgstr "" "Đзменений не обнарŃжено.\n" "\n" "в %s отŃŃ‚ŃтвŃŃŽŃ‚ изменения.\n" "\n" -"Дата изменения файла была обновлена Đ´Ń€Ńгой программой, но Ńодержимое файла " -"ĐľŃталоŃŃŚ прежним.\n" +"Дата изменения файла была обновлена Đ´Ń€Ńгой программой, но Ńодержимое файла ĐľŃталоŃŃŚ прежним.\n" "\n" "ĐˇĐµĐąŃ‡Đ°Ń Đ±Ńдет запŃщено перечитывание репозитория, чтобы найти подобные файлы." @@ -1391,7 +1452,7 @@ msgstr "ЗагрŃзка %s..." #: lib/diff.tcl:114 lib/diff.tcl:184 #, tcl-format msgid "Unable to display %s" -msgstr "" +msgstr "Не ĐĽĐľĐłŃ ĐżĐľĐşĐ°Đ·Đ°Ń‚ŃŚ %s" #: lib/diff.tcl:115 msgid "Error loading file:" @@ -1399,11 +1460,11 @@ msgstr "ĐžŃибка загрŃзки файла:" #: lib/diff.tcl:122 msgid "Git Repository (subproject)" -msgstr "" +msgstr "Репозиторий Git (под-проект)" #: lib/diff.tcl:134 msgid "* Binary file (not showing content)." -msgstr "" +msgstr "* Двоичный файл (Ńодержимое не показано)" #: lib/diff.tcl:185 msgid "Error loading diff:" @@ -1455,8 +1516,7 @@ msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" "Отменить изменения в %s?\n" "\n" -"Любые изменения, не подготовленные Đş Ńохранению, бŃĐ´ŃŃ‚ потеряны при данной " -"операции." +"Любые изменения, не подготовленные Đş Ńохранению, бŃĐ´ŃŃ‚ потеряны при данной операции." #: lib/index.tcl:351 msgid "Do Nothing" @@ -1470,22 +1530,19 @@ msgid "" msgstr "" "Невозможно выполнить объединение во время иŃправления.\n" "\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" +"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" +"С момента поŃледней проверки репозиторий был изменен Đ´Ń€Ńгой программой Git.Необходимо перечитать репозиторий, прежде чем изменять текŃщŃŃŽ ветвь. \n" "\n" "Это бŃдет Ńделано ŃĐµĐąŃ‡Đ°Ń Đ°Đ˛Ń‚ĐľĐĽĐ°Ń‚Đ¸Ń‡ĐµŃки.\n" @@ -1496,14 +1553,12 @@ msgid "" "\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" +"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 @@ -1512,20 +1567,18 @@ msgid "" "\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" +"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" +"Подготовьте и Ńохраните измения перед началом объединения. Đ’ ŃĐ»Ńчае необходимоŃти это позволит прервать операцию объединения.\n" #: lib/merge.tcl:106 #, tcl-format msgid "%s of %s" -msgstr "" +msgstr "%s из %s" #: lib/merge.tcl:119 #, tcl-format @@ -1589,11 +1642,11 @@ msgstr "" #: lib/merge.tcl:239 msgid "Aborting" -msgstr "" +msgstr "Прерываю" #: lib/merge.tcl:266 msgid "Abort failed." -msgstr "" +msgstr "Прервать не ŃдалоŃŃŚ." #: lib/merge.tcl:268 msgid "Abort completed. Ready." @@ -1664,15 +1717,17 @@ msgstr "Шрифт интерфейŃа" #: lib/option.tcl:180 #, tcl-format msgid "Choose %s" -msgstr "" +msgstr "Выберите %s" +# carbon copy #: lib/option.tcl:186 +#, fuzzy msgid "pt." -msgstr "" +msgstr "pt." #: lib/option.tcl:200 msgid "Preferences" -msgstr "" +msgstr "НаŃтройки" #: lib/option.tcl:235 msgid "Failed to completely save options:" @@ -1737,12 +1792,11 @@ msgid "" " - %s" msgstr "СледŃющие ветви объединены Ń %s не полноŃтью:" +# TOVERIFY #: 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 "" +#, fuzzy, 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." @@ -1795,10 +1849,11 @@ msgstr "ПолŃчить" msgid "Fetching new changes from %s" msgstr "ПолŃчение изменений из %s " +# carbon copy #: lib/transport.tcl:18 -#, tcl-format +#, fuzzy, tcl-format msgid "remote prune %s" -msgstr "" +msgstr "remote prune %s" #: lib/transport.tcl:19 #, tcl-format @@ -1808,7 +1863,7 @@ msgstr "ЧиŃтка ветвей Ńлежения, Ńдаленных из %s" #: lib/transport.tcl:25 lib/transport.tcl:71 #, tcl-format msgid "push %s" -msgstr "" +msgstr "отправить %s" #: lib/transport.tcl:26 #, tcl-format @@ -1838,7 +1893,7 @@ msgstr "НаŃтройки передачи" #: lib/transport.tcl:160 msgid "Force overwrite existing branch (may discard changes)" -msgstr "" +msgstr "Намеренно перепиŃать ŃŃщеŃтвŃющŃŃŽ ветвь (возможна потеря изменений)" #: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" @@ -1850,19 +1905,14 @@ 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" @@ -1876,9 +1926,8 @@ msgstr "Включить метки" #~ "Вызванная операция приведет Đş потере *ВСЕХ* неŃохраненных изменений.\n" #~ "\n" #~ "Продолжить?" - #~ msgid "Aborting... please wait..." #~ msgstr "Прерывание выполнения... ПожалŃĐąŃта, ждите..." - #~ msgid "Push to %s..." #~ msgstr "Отправка в %s..." + From dec2b4aaa87ab2b33d1ad8294872af1f1397ec7e Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Mon, 22 Oct 2007 22:28:48 +0200 Subject: [PATCH 085/187] More updates and corrections to the russian translation of git-gui In particular many screw-ups after po regeneration were fixed. Signed-off-by: Alex Riesen Signed-off-by: Shawn O. Pearce --- po/ru.po | 362 +++++++++++++++++++------------------------------------ 1 file changed, 127 insertions(+), 235 deletions(-) diff --git a/po/ru.po b/po/ru.po index ed5b67a95c..b8e9447942 100644 --- a/po/ru.po +++ b/po/ru.po @@ -8,8 +8,8 @@ msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-10-10 04:04-0400\n" -"PO-Revision-Date: 2007-10-20 14:29-0500\n" -"Last-Translator: Kirill \n" +"PO-Revision-Date: 2007-10-22 22:30-0200\n" +"Last-Translator: Alex Riesen \n" "Language-Team: Russian Translation \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" @@ -21,9 +21,9 @@ msgid "git-gui: fatal error" msgstr "git-gui: критичеŃкая ĐľŃибка" #: git-gui.sh:595 -#, fuzzy, tcl-format +#, tcl-format msgid "Invalid font specified in %s:" -msgstr "Đ’ оболочке ŃŃтановлен неверный Ńрифт.%s:" +msgstr "Đ’ %s ŃŃтановлен неверный Ńрифт:" #: git-gui.sh:620 msgid "Main Font" @@ -31,7 +31,7 @@ msgstr "Шрифт интерфейŃа" #: git-gui.sh:621 msgid "Diff/Console Font" -msgstr "Шрифт в конŃоли diff" +msgstr "Шрифт конŃоли и изменений (diff)" #: git-gui.sh:635 msgid "Cannot find git in PATH." @@ -64,9 +64,8 @@ msgid "Git directory not found:" msgstr "Каталог Git не найден:" #: git-gui.sh:860 -#, fuzzy msgid "Cannot move to top of working directory:" -msgstr "Каталог.git иŃпорчен: " +msgstr "Невозможно перейти Đş корню рабочего каталога репозитория: " #: git-gui.sh:867 msgid "Cannot use funny .git directory:" @@ -78,7 +77,7 @@ msgstr "ОтŃŃŃ‚ŃтвŃет рабочий каталог" #: git-gui.sh:1019 msgid "Refreshing file status..." -msgstr "Обновление ŃĐľŃтояния файлов проекта..." +msgstr "Обновление информации Đľ ŃĐľŃтоянии файлов..." #: git-gui.sh:1084 msgid "Scanning for modified files ..." @@ -94,7 +93,7 @@ msgstr "Не изменено" #: git-gui.sh:1527 msgid "Modified, not staged" -msgstr "Đзменено, но не включено" +msgstr "Đзменено, не подготовлено" #: git-gui.sh:1528 git-gui.sh:1533 msgid "Staged for commit" @@ -105,7 +104,6 @@ msgid "Portions staged for commit" msgstr "ЧаŃти, подготовленные для Ńохранения" #: git-gui.sh:1530 git-gui.sh:1535 -#, fuzzy msgid "Staged for commit, missing" msgstr "Подготовлено для Ńохранения, отŃŃŃ‚ŃтвŃет" @@ -123,7 +121,7 @@ msgstr "Подготовлено для Ńдаления" #: git-gui.sh:1539 msgid "Staged for removal, still present" -msgstr "Подготовлено для Ńдаления, но еще не Ńдалено" +msgstr "Подготовлено для Ńдаления, еще не Ńдалено" #: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544 msgid "Requires merge resolution" @@ -157,7 +155,6 @@ msgid "Branch" msgstr "Ветвь" #: git-gui.sh:1794 lib/choose_rev.tcl:547 -#, fuzzy msgid "Commit@@noun" msgstr "СоŃтояние" @@ -166,18 +163,16 @@ msgid "Merge" msgstr "Объединить" #: git-gui.sh:1798 lib/choose_rev.tcl:556 -#, fuzzy msgid "Remote" -msgstr "внеŃний:" +msgstr "ВнеŃние репозитории" #: git-gui.sh:1807 msgid "Browse Current Branch's Files" msgstr "ПроŃмотреть файлы текŃщей ветви" #: git-gui.sh:1811 -#, fuzzy msgid "Browse Branch Files..." -msgstr "Показать файлы ветви" +msgstr "Показать файлы ветви..." #: git-gui.sh:1816 msgid "Visualize Current Branch's History" @@ -188,9 +183,9 @@ msgid "Visualize All Branch History" msgstr "ĐŃтория вŃех ветвей наглядно" #: git-gui.sh:1827 -#, fuzzy, tcl-format +#, tcl-format msgid "Browse %s's Files" -msgstr "Показать файлы ветви" +msgstr "Показать файлы ветви %s" #: git-gui.sh:1829 #, tcl-format @@ -281,12 +276,10 @@ msgid "Rescan" msgstr "Перечитать" #: git-gui.sh:1953 -#, fuzzy msgid "Stage To Commit" msgstr "Подготовить для Ńохранения" #: git-gui.sh:1958 -#, fuzzy msgid "Stage Changed Files To Commit" msgstr "Подготовить измененные файлы для Ńохранения" @@ -303,7 +296,6 @@ msgid "Sign Off" msgstr "ПодпиŃать" #: git-gui.sh:1980 git-gui.sh:2296 -#, fuzzy msgid "Commit@@verb" msgstr "Сохранить" @@ -319,11 +311,10 @@ msgstr "Прервать объединение..." msgid "Push..." msgstr "Отправить..." -# carbon copy #: git-gui.sh:2019 lib/choose_repository.tcl:41 #, fuzzy msgid "Apple" -msgstr "Apple" +msgstr "" #: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13 #: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 @@ -347,9 +338,8 @@ msgstr "Помощь" msgid "Online Documentation" msgstr "ДокŃментация в интернете" -# TOVERIFY #: git-gui.sh:2165 -#, fuzzy, tcl-format +#, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "критичеŃкая ĐľŃибка: %s: нет такого файла или каталога" @@ -358,43 +348,34 @@ msgid "Current Branch:" msgstr "ТекŃщая ветвь:" #: git-gui.sh:2219 -#, fuzzy msgid "Staged Changes (Will Commit)" msgstr "Подготовлено (бŃдет Ńохранено)" -# TOVERIFY #: git-gui.sh:2239 -#, fuzzy msgid "Unstaged Changes" -msgstr "Đзменено" +msgstr "Đзменено (не бŃдет Ńохранено)" -# carbon copy #: git-gui.sh:2286 -#, fuzzy msgid "Stage Changed" -msgstr "Stage Changed" +msgstr "Подготовить вŃе" #: 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:2333 -#, fuzzy msgid "Amended Commit Message:" -msgstr "ĐŃправленный комментарий Đş ŃĐľŃтоянию:" +msgstr "Комментарий Đş иŃĐżŃ€Đ°Đ˛Đ»ĐµĐ˝Đ˝ĐľĐĽŃ ŃĐľŃтоянию:" #: git-gui.sh:2334 -#, fuzzy msgid "Amended Initial Commit Message:" -msgstr "Первоначальный комментарий Đş иŃĐżŃ€Đ°Đ˛Đ»ĐµĐ˝Đ˝ĐľĐĽŃ ŃĐľŃтоянию:" +msgstr "Комментарий Đş иŃĐżŃ€Đ°Đ˛Đ»ĐµĐ˝Đ˝ĐľĐĽŃ ĐżĐµŃ€Đ˛ĐľĐ˝Đ°Ń‡Đ°Đ»ŃŚĐ˝ĐľĐĽŃ ŃĐľŃтоянию:" #: git-gui.sh:2335 -#, fuzzy msgid "Amended Merge Commit Message:" msgstr "Комментарий Đş иŃĐżŃ€Đ°Đ˛Đ»ĐµĐ˝Đ˝ĐľĐĽŃ ĐľĐ±ŃŠĐµĐ´Đ¸Đ˝ĐµĐ˝Đ¸ŃŽ:" @@ -467,9 +448,7 @@ msgstr "" "запŃщенными из %s\n" "\n" -# TOVERIFY #: git-gui.sh:2707 -#, fuzzy msgid "" "\n" "This is due to a known issue with the\n" @@ -491,10 +470,10 @@ msgid "" msgstr "" "\n" "\n" -"ХороŃая замена для %s\n" -"Ńохраняет значения для user.name и\n" -"user.email в Đ’Đ°Ń ĐżĐµŃ€Ńональный\n" -"~/.gitconfig файл.\n" +"ВмеŃто иŃпользования %s можно\n" +"Ńохранить значения user.name и\n" +"user.email в ВаŃем перŃональном\n" +"файле ~/.gitconfig.\n" #: lib/about.tcl:25 msgid "git-gui - a graphical user interface for Git." @@ -510,69 +489,56 @@ msgstr "Сохраненное ŃĐľŃтояние:" #: lib/blame.tcl:249 msgid "Copy Commit" -msgstr "Копировать Ńохраненное ŃĐľŃтояние" +msgstr "Скопировать SHA-1" #: lib/blame.tcl:369 #, tcl-format msgid "Reading %s..." msgstr "Чтение %s..." -# carbon copy #: lib/blame.tcl:473 -#, fuzzy msgid "Loading copy/move tracking annotations..." -msgstr "Loading copy/move tracking annotations..." +msgstr "ЗагрŃзка аннотации копирований/переименований..." -# TOVERIFY #: lib/blame.tcl:493 -#, fuzzy msgid "lines annotated" -msgstr "Ńтрок прокоментировано" +msgstr "Ńтрок прокомментировано" -# carbon copy #: lib/blame.tcl:674 -#, fuzzy msgid "Loading original location annotations..." -msgstr "Loading original location annotations..." +msgstr "ЗагрŃзка аннотаций первоначального положения объекта..." -# carbon copy #: lib/blame.tcl:677 -#, fuzzy msgid "Annotation complete." -msgstr "Annotation complete." +msgstr "Đннотация заверŃена." #: lib/blame.tcl:731 -#, fuzzy msgid "Loading annotation..." -msgstr "ЗагрŃзка %s..." +msgstr "ЗагрŃзка аннотации..." #: lib/blame.tcl:787 msgid "Author:" msgstr "Đвтор:" #: lib/blame.tcl:791 -#, fuzzy msgid "Committer:" -msgstr "Сохраненное ŃĐľŃтояние:" +msgstr "Сохранил:" #: lib/blame.tcl:796 msgid "Original File:" msgstr "ĐŃходный файл:" -# carbon copy #: lib/blame.tcl:910 -#, fuzzy msgid "Originally By:" -msgstr "Originally By:" +msgstr "ĐŃточник:" #: lib/blame.tcl:916 -#, fuzzy msgid "In File:" msgstr "Файл:" #: lib/blame.tcl:921 msgid "Copied Or Moved Here By:" -msgstr "Кто Ńкопировал/перемеŃтил Ńюда:" +msgstr "Скопировано/перемещено в:" #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" @@ -702,7 +668,7 @@ msgid "" "\n" " Delete the selected branches?" msgstr "" -"Đ’ĐľŃŃтановить ŃдаленнŃŃŽ ветвь Ńложно. \n" +"Đ’ĐľŃŃтанавливать Ńдаленные ветви Ńложно. \n" "\n" " Удалить выбранные ветви?" @@ -773,14 +739,14 @@ msgid "Browse" msgstr "Показать" #: lib/checkout_op.tcl:79 -#, fuzzy, tcl-format +#, tcl-format msgid "Fetching %s from %s" -msgstr "ПолŃчение изменений из %s " +msgstr "ПолŃчение %s из %s " #: lib/checkout_op.tcl:127 #, tcl-format msgid "fatal: Cannot resolve %s" -msgstr "критичеŃкая ĐľŃибка: не ĐĽĐľĐłŃ Ń€Đ°Ńпознать %s" +msgstr "критичеŃкая ĐľŃибка: невозможно разреŃить %s" #: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" @@ -807,7 +773,7 @@ msgstr "" #: lib/checkout_op.tcl:220 #, tcl-format msgid "Merge strategy '%s' not supported." -msgstr "Операция объединения '%s' не поддерживаетŃŃŹ." +msgstr "Стратегия объединения '%s' не поддерживаетŃŃŹ." #: lib/checkout_op.tcl:239 #, tcl-format @@ -815,9 +781,8 @@ msgid "Failed to update '%s'." msgstr "Не ŃдалоŃŃŚ обновить '%s'." #: lib/checkout_op.tcl:251 -#, fuzzy msgid "Staging area (index) is already locked." -msgstr "ĐĐ˝Đ´ĐµĐşŃ Đ·Đ°Đ±Đ»ĐľĐşĐ¸Ń€ĐľĐ˛Đ°Đ˝." +msgstr "Рабочая облаŃть заблокирована Đ´Ń€Ńгим процеŃŃом." #: lib/checkout_op.tcl:266 msgid "" @@ -829,14 +794,15 @@ msgid "" msgstr "" "ПоŃледнее прочитанное ŃĐľŃтояние репозитория не ŃоответŃтвŃет текŃщемŃ.\n" "\n" -"С момента поŃледней проверки репозиторий был изменен Đ´Ń€Ńгой программой Git.Необходимо перечитать репозиторий, прежде чем изменять текŃщŃŃŽ ветвь. \n" +"С момента поŃледней проверки репозиторий был изменен Đ´Ń€Ńгой программой Git. " +"Необходимо перечитать репозиторий, прежде чем изменять текŃщŃŃŽ ветвь.\n" "\n" "Это бŃдет Ńделано ŃĐµĐąŃ‡Đ°Ń Đ°Đ˛Ń‚ĐľĐĽĐ°Ń‚Đ¸Ń‡ĐµŃки.\n" #: lib/checkout_op.tcl:322 -#, fuzzy, tcl-format +#, tcl-format msgid "Updating working directory to '%s'..." -msgstr "ОтŃŃŃ‚ŃтвŃет рабочий каталог" +msgstr "Обновление рабочего каталога из '%s'..." #: lib/checkout_op.tcl:353 #, tcl-format @@ -863,9 +829,9 @@ msgstr "" "Đ•Ńли вы хотите Ńнова вернŃтьŃŃŹ Đş какой-нибŃĐ´ŃŚ ветви, Ńоздайте ее ŃейчаŃ, начиная Ń 'ТекŃщего отŃоединенного ŃĐľŃтояния'." #: lib/checkout_op.tcl:446 -#, fuzzy, tcl-format +#, tcl-format msgid "Checked out '%s'." -msgstr "Перейти..." +msgstr "Ветвь '%s' Ńделана текŃщей." #: lib/checkout_op.tcl:478 #, tcl-format @@ -901,7 +867,6 @@ msgstr "" "Этого не должно было произойти. %s заверŃаетŃŃŹ." #: lib/choose_font.tcl:39 -#, fuzzy msgid "Select" msgstr "Выделить вŃе" @@ -910,15 +875,13 @@ msgid "Font Family" msgstr "Шрифт" #: lib/choose_font.tcl:73 -#, fuzzy msgid "Font Size" -msgstr "УменьŃить размер Ńрифта" +msgstr "Размер Ńрифта" #: lib/choose_font.tcl:90 msgid "Font Example" msgstr "Пример текŃта" -# TOVERIFY: what's the Russian version of the font sample (see Windows Fonts). #: lib/choose_font.tcl:101 msgid "" "This is example text.\n" @@ -929,39 +892,34 @@ msgstr "" #: lib/choose_repository.tcl:25 msgid "Git Gui" -msgstr "Git Gui" +msgstr "" #: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 -#, fuzzy msgid "Create New Repository" -msgstr "ĐĐ· репозитория" +msgstr "Создать новый репозиторий" #: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 -#, fuzzy msgid "Clone Existing Repository" -msgstr "Репозиторий назначения" +msgstr "Склонировать ŃŃщеŃтвŃющий репозиторий" #: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 -#, fuzzy msgid "Open Existing Repository" -msgstr "Репозиторий назначения" +msgstr "Выбрать ŃŃщеŃтвŃющий репозиторий" -# TOVERIFY #: lib/choose_repository.tcl:91 -#, fuzzy msgid "Next >" msgstr "ДальŃе >" #: lib/choose_repository.tcl:152 -#, fuzzy, tcl-format +#, tcl-format msgid "Location %s already exists." -msgstr "Ветвь '%s' Ńже ŃŃщеŃтвŃет." +msgstr "ĐźŃть '%s' Ńже ŃŃщеŃтвŃет." #: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 #: lib/choose_repository.tcl:172 -#, fuzzy, tcl-format +#, tcl-format msgid "Failed to create repository %s:" -msgstr "Не ŃдалоŃŃŚ полноŃтью Ńохранить наŃтройки:" +msgstr "Не ŃдалоŃŃŚ Ńоздать репозиторий %s:" #: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 msgid "Directory:" @@ -969,121 +927,98 @@ 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 +#, tcl-format msgid "Directory %s already exists." -msgstr "Ветвь '%s' Ńже ŃŃщеŃтвŃет." +msgstr "Каталог '%s' Ńже ŃŃщеŃтвŃет." #: lib/choose_repository.tcl:265 -#, fuzzy, tcl-format +#, tcl-format msgid "File %s already exists." -msgstr "Ветвь '%s' Ńже ŃŃщеŃтвŃет." +msgstr "Файл '%s' Ńже ŃŃщеŃтвŃет." #: lib/choose_repository.tcl:286 -#, fuzzy msgid "Clone" -msgstr "Закрыть" +msgstr "Склонировать" #: lib/choose_repository.tcl:299 msgid "URL:" msgstr "СŃылка:" -# TOVERIFY #: lib/choose_repository.tcl:319 -#, fuzzy msgid "Clone Type:" msgstr "Тип клона:" -# TOVERIFY #: lib/choose_repository.tcl:325 -#, fuzzy msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Стандартный (БыŃтрый, полŃизбыточный, \"жеŃткие\" ŃŃылки)" -# TOVERIFY #: lib/choose_repository.tcl:331 -#, fuzzy msgid "Full Copy (Slower, Redundant Backup)" -msgstr "Полная копия (Медленный, избыточная резервная копия)" +msgstr "Полная копия (Медленный, Ńоздает резервнŃŃŽ копию)" -# TOVERIFY #: lib/choose_repository.tcl:337 -#, fuzzy 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 +#, tcl-format msgid "Not a Git repository: %s" -msgstr "Не Ńказан репозиторий" +msgstr "Каталог не являетŃŃŹ репозиторием: %s" -# TOVERIFY #: lib/choose_repository.tcl:405 -#, fuzzy msgid "Standard only available for local repository." msgstr "Стандартный клон возможен только для локального репозитория." -# TOVERIFY #: lib/choose_repository.tcl:409 -#, fuzzy msgid "Shared only available for local repository." msgstr "Общий клон возможен только для локального репозитория." -# TOVERIFY #: lib/choose_repository.tcl:439 -#, fuzzy msgid "Failed to configure origin" -msgstr "Не ĐĽĐľĐłŃ ŃконфигŃрировать иŃкходник." +msgstr "Не ĐĽĐľĐłŃ ŃконфигŃрировать иŃходный репозиторий." #: lib/choose_repository.tcl:451 msgid "Counting objects" msgstr "Считаю объекты" -# carbon copy #: lib/choose_repository.tcl:452 #, fuzzy msgid "buckets" -msgstr "buckets" +msgstr "" -# TOVERIFY #: lib/choose_repository.tcl:476 -#, fuzzy, tcl-format +#, tcl-format msgid "Unable to copy objects/info/alternates: %s" -msgstr "Не ĐĽĐľĐłŃ Ńкопировать объекты/инфо/альтернативы: %s" +msgstr "Не ĐĽĐľĐłŃ Ńкопировать objects/info/alternates: %s" #: lib/choose_repository.tcl:512 -#, fuzzy, tcl-format +#, tcl-format msgid "Nothing to clone from %s." -msgstr "ПолŃчение изменений из %s " +msgstr "Нечего клонировать Ń %s." -# TOVERIFY #: lib/choose_repository.tcl:514 lib/choose_repository.tcl:728 #: lib/choose_repository.tcl:740 -#, fuzzy msgid "The 'master' branch has not been initialized." msgstr "Не инициализирована ветвь 'master'." -# TOVERIFY #: lib/choose_repository.tcl:527 -#, fuzzy msgid "Hardlinks are unavailable. Falling back to copying." msgstr "\"ЖеŃткие ŃŃылки\" не Đ´ĐľŃŃ‚Ńпны. Đ‘ŃĐ´Ń Đ¸Ńпользовать копирование." #: lib/choose_repository.tcl:539 -#, fuzzy, tcl-format +#, tcl-format msgid "Cloning from %s" -msgstr "ПолŃчение изменений из %s " +msgstr "Клонирование %s" #: lib/choose_repository.tcl:570 -#, fuzzy msgid "Copying objects" -msgstr "Сжатие базы объектов" +msgstr "Копирование objects" #: lib/choose_repository.tcl:571 msgid "KiB" @@ -1096,42 +1031,33 @@ msgstr "Не ĐĽĐľĐłŃ Ńкопировать объект: %s" #: lib/choose_repository.tcl:605 msgid "Linking objects" -msgstr "Связываю объекты" +msgstr "Создание ŃŃылок на objects" -# TOVERIFY #: lib/choose_repository.tcl:606 -#, fuzzy msgid "objects" -msgstr "объектов" +msgstr "объекты" -# TOVERIFY #: lib/choose_repository.tcl:614 -#, fuzzy, tcl-format +#, tcl-format msgid "Unable to hardlink object: %s" msgstr "Не ĐĽĐľĐłŃ \"жеŃтко Ńвязать\" объект: %s" -# TOVERIFY #: lib/choose_repository.tcl:669 -#, fuzzy msgid "Cannot fetch branches and objects. See console output for details." -msgstr "Не ĐĽĐľĐłŃ ĐżĐľĐ»Ńчить ветви и объекты. Детали - на конŃоле." +msgstr "Не ĐĽĐľĐłŃ ĐżĐľĐ»Ńчить ветви и объекты. Дополнительная информация на конŃоли." -# TOVERIFY #: lib/choose_repository.tcl:680 -#, fuzzy msgid "Cannot fetch tags. See console output for details." -msgstr "Не ĐĽĐľĐłŃ ĐżĐľĐ»Ńчить таги. Детали - на конŃоле." +msgstr "Не ĐĽĐľĐłŃ ĐżĐľĐ»Ńчить метки. Дополнительная информация на конŃоли." -# TOVERIFY #: lib/choose_repository.tcl:704 -#, fuzzy msgid "Cannot determine HEAD. See console output for details." -msgstr "Не ĐĽĐľĐłŃ ĐľĐżŃ€ĐµĐ´ĐµĐ»Đ¸Ń‚ŃŚ главнŃŃŽ ветвь. Детали - на конŃоле." +msgstr "Не ĐĽĐľĐłŃ ĐľĐżŃ€ĐµĐ´ĐµĐ»Đ¸Ń‚ŃŚ HEAD. Дополнительная информация на конŃоли." #: lib/choose_repository.tcl:713 #, tcl-format msgid "Unable to cleanup %s" -msgstr "Не ĐĽĐľĐłŃ ĐżĐľŃ‡Đ¸Ńтить %s" +msgstr "Не ĐĽĐľĐłŃ ĐľŃ‡Đ¸Ńтить %s" #: lib/choose_repository.tcl:719 msgid "Clone failed." @@ -1139,7 +1065,7 @@ msgstr "Клонирование не ŃдалоŃŃŚ." #: lib/choose_repository.tcl:726 msgid "No default branch obtained." -msgstr "Не возможно полŃчить ветвь по Ńмолчанию." +msgstr "Не было полŃчено ветви по Ńмолчанию." #: lib/choose_repository.tcl:737 #, tcl-format @@ -1147,9 +1073,8 @@ msgid "Cannot resolve %s as a commit." msgstr "Не ĐĽĐľĐłŃ Ń€Đ°Ńпознать %s как ŃĐľŃтояние." #: lib/choose_repository.tcl:749 -#, fuzzy msgid "Creating working directory" -msgstr "ОтŃŃŃ‚ŃтвŃет рабочий каталог" +msgstr "Создаю рабочий каталог" #: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 #: lib/index.tcl:149 @@ -1158,21 +1083,20 @@ msgstr "файлов" #: lib/choose_repository.tcl:779 msgid "Initial file checkout failed." -msgstr "Первое полŃчение файла не ŃдалоŃŃŚ." +msgstr "Не ŃдалоŃŃŚ полŃчить начальное ŃĐľŃтояние файлов репозитория." #: lib/choose_repository.tcl:795 msgid "Open" msgstr "Открыть" #: lib/choose_repository.tcl:805 -#, fuzzy msgid "Repository:" -msgstr "Репозиторий" +msgstr "Репозиторий:" #: lib/choose_repository.tcl:854 -#, fuzzy, tcl-format +#, tcl-format msgid "Failed to open repository %s:" -msgstr "Не ŃдалоŃŃŚ полноŃтью Ńохранить наŃтройки:" +msgstr "Не ŃдалоŃŃŚ открыть репозиторий %s:" #: lib/choose_rev.tcl:53 msgid "This Detached Checkout" @@ -1205,7 +1129,7 @@ msgstr "ВерŃия не Ńказана." #: lib/choose_rev.tcl:346 msgid "Revision expression is empty." -msgstr "ĐźŃŃтое выражения для определения верŃии." +msgstr "ĐźŃŃтое выражение для определения верŃии." #: lib/choose_rev.tcl:530 msgid "Updated" @@ -1223,7 +1147,7 @@ msgid "" msgstr "" "ОтŃŃŃ‚ŃтвŃет ŃĐľŃтояние для иŃправления.\n" "\n" -"Đ’Ń‹ можете Ńоздать начальное Ńохраненное ŃĐľŃтояние. ДрŃгих ŃĐľŃтояний для иŃправления нет.\n" +"Đ’Ń‹ Ńоздаете первое ŃĐľŃтояние в репозитории, здеŃŃŚ еще нечего иŃправлять.\n" #: lib/commit.tcl:18 msgid "" @@ -1257,12 +1181,12 @@ msgid "" msgstr "" "ПоŃледнее прочитанное ŃĐľŃтояние репозитория не ŃоответŃтвŃет текŃщемŃ.\n" "\n" -"С момента поŃледней проверки репозиторий был изменен Đ´Ń€Ńгой программой Git.Необходимо перечитать репозиторий, прĐµĐ¶Đ´Đµ чем изменять текŃщŃŃŽ ветвь. \n" +"С момента поŃледней проверки репозиторий был изменен Đ´Ń€Ńгой программой Git. Необходимо перечитать репозиторий, прежде чем изменять текŃщŃŃŽ ветвь. \n" "\n" "Это бŃдет Ńделано ŃĐµĐąŃ‡Đ°Ń Đ°Đ˛Ń‚ĐľĐĽĐ°Ń‚Đ¸Ń‡ĐµŃки.\n" #: lib/commit.tcl:154 -#, fuzzy, tcl-format +#, tcl-format msgid "" "Unmerged files cannot be committed.\n" "\n" @@ -1284,7 +1208,6 @@ msgstr "" "Файл %s не может быть Ńохранен данной программой.\n" #: lib/commit.tcl:170 -#, fuzzy msgid "" "No changes to commit.\n" "\n" @@ -1416,14 +1339,14 @@ msgid "" msgstr "" "Этот репозиторий ŃĐµĐąŃ‡Đ°Ń Ńодержит примерно %i Ńвободных объектов\n" "\n" -"Для Đ»ŃчŃей производительноŃти рекомендŃетŃŃŹ Ńжать Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń…, когда еŃть более %i Ńвободных объектов.\n" +"Для Đ»ŃчŃей производительноŃти рекомендŃетŃŃŹ Ńжать Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń…, когда еŃть более %i неŃвязанных объектов.\n" "\n" "Сжать Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń… ŃейчаŃ?" #: lib/date.tcl:25 -#, fuzzy, tcl-format +#, tcl-format msgid "Invalid date from Git: %s" -msgstr "Неверная верŃия: %s" +msgstr "Неправильная дата в репозитории: %s" #: lib/diff.tcl:42 #, tcl-format @@ -1445,9 +1368,9 @@ msgstr "" "ĐˇĐµĐąŃ‡Đ°Ń Đ±Ńдет запŃщено перечитывание репозитория, чтобы найти подобные файлы." #: lib/diff.tcl:81 -#, fuzzy, tcl-format +#, tcl-format msgid "Loading diff of %s..." -msgstr "ЗагрŃзка %s..." +msgstr "ЗагрŃзка изменений в %s..." #: lib/diff.tcl:114 lib/diff.tcl:184 #, tcl-format @@ -1460,7 +1383,7 @@ msgstr "ĐžŃибка загрŃзки файла:" #: lib/diff.tcl:122 msgid "Git Repository (subproject)" -msgstr "Репозиторий Git (под-проект)" +msgstr "Репозиторий Git (подпроект)" #: lib/diff.tcl:134 msgid "* Binary file (not showing content)." @@ -1472,11 +1395,11 @@ msgstr "ĐžŃибка загрŃзки diff:" #: lib/diff.tcl:302 msgid "Failed to unstage selected hunk." -msgstr "Не ŃдалоŃŃŚ иŃключить выбраннŃŃŽ чаŃть" +msgstr "Не ŃдалоŃŃŚ иŃключить выбраннŃŃŽ чаŃть." #: lib/diff.tcl:309 msgid "Failed to stage selected hunk." -msgstr "Не ŃдалоŃŃŚ подготовить Đş Ńохранению выбраннŃŃŽ чаŃть" +msgstr "Не ŃдалоŃŃŚ подготовить Đş Ńохранению выбраннŃŃŽ чаŃть." #: lib/error.tcl:12 lib/error.tcl:102 msgid "error" @@ -1491,19 +1414,19 @@ msgid "You must correct the above errors before committing." msgstr "Прежде чем Ńохранить, иŃправьте выŃеŃказанные ĐľŃибки." #: lib/index.tcl:241 -#, fuzzy, tcl-format +#, tcl-format msgid "Unstaging %s from commit" -msgstr "Убрать из подготовленного" +msgstr "Удаление %s из подготовленного" #: lib/index.tcl:285 -#, fuzzy, tcl-format +#, tcl-format msgid "Adding %s" -msgstr "Чтение %s..." +msgstr "Добавление %s..." #: lib/index.tcl:340 -#, fuzzy, tcl-format +#, tcl-format msgid "Revert changes in file %s?" -msgstr "Отменить изменения" +msgstr "Отменить изменения в файле %s?" #: lib/index.tcl:342 #, tcl-format @@ -1511,11 +1434,8 @@ msgid "Revert changes in these %i files?" msgstr "Отменить изменения в %i файле(-ах)?" #: lib/index.tcl:348 -#, fuzzy msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" -"Отменить изменения в %s?\n" -"\n" "Любые изменения, не подготовленные Đş Ńохранению, бŃĐ´ŃŃ‚ потеряны при данной операции." #: lib/index.tcl:351 @@ -1542,12 +1462,12 @@ msgid "" msgstr "" "ПоŃледнее прочитанное ŃĐľŃтояние репозитория не ŃоответŃтвŃет текŃщемŃ.\n" "\n" -"С момента поŃледней проверки репозиторий был изменен Đ´Ń€Ńгой программой Git.Необходимо перечитать репозиторий, прежде чем изменять текŃщŃŃŽ ветвь. \n" +"С момента поŃледней проверки репозиторий был изменен Đ´Ń€Ńгой программой Git. Необходимо перечитать репозиторий, прежде чем изменять текŃщŃŃŽ ветвь.\n" "\n" "Это бŃдет Ńделано ŃĐµĐąŃ‡Đ°Ń Đ°Đ˛Ń‚ĐľĐĽĐ°Ń‚Đ¸Ń‡ĐµŃки.\n" #: lib/merge.tcl:44 -#, fuzzy, tcl-format +#, tcl-format msgid "" "You are in the middle of a conflicted merge.\n" "\n" @@ -1599,9 +1519,8 @@ msgid "Merge Into %s" msgstr "Объединить Ń %s" #: lib/merge.tcl:177 -#, fuzzy msgid "Revision To Merge" -msgstr "ВерŃия" +msgstr "ВерŃия для объединения" #: lib/merge.tcl:212 msgid "" @@ -1622,12 +1541,12 @@ msgid "" "Continue with aborting the current merge?" msgstr "" "Прервать объединение?\n" +"\n" "Прерывание объединения приведет Đş потере *ВСЕХ* неŃохраненных изменений.\n" "\n" "Продолжить?" #: lib/merge.tcl:228 -#, fuzzy msgid "" "Reset changes?\n" "\n" @@ -1636,6 +1555,7 @@ msgid "" "Continue with resetting the current changes?" msgstr "" "Прервать объединение?\n" +"\n" "Прерывание объединения приведет Đş потере *ВСЕХ* неŃохраненных изменений.\n" "\n" "Продолжить?" @@ -1663,7 +1583,7 @@ msgstr "Сохранить" #: lib/option.tcl:96 #, tcl-format msgid "%s Repository" -msgstr "для репозитория %s " +msgstr "для репозитория %s" #: lib/option.tcl:97 msgid "Global (All Repositories)" @@ -1710,7 +1630,6 @@ msgid "New Branch Name Template" msgstr "Шаблон для имени новой ветви" #: lib/option.tcl:176 -#, fuzzy msgid "Change Font" msgstr "Шрифт интерфейŃа" @@ -1723,7 +1642,7 @@ msgstr "Выберите %s" #: lib/option.tcl:186 #, fuzzy msgid "pt." -msgstr "pt." +msgstr "" #: lib/option.tcl:200 msgid "Preferences" @@ -1734,17 +1653,14 @@ msgid "Failed to completely save options:" msgstr "Не ŃдалоŃŃŚ полноŃтью Ńохранить наŃтройки:" #: lib/remote.tcl:165 -#, fuzzy msgid "Prune from" -msgstr "ЧиŃтка %s... " +msgstr "ЧиŃтка" #: lib/remote.tcl:170 -#, fuzzy msgid "Fetch from" -msgstr "ЧиŃтка %s... " +msgstr "ПолŃчение из" #: lib/remote.tcl:213 -#, fuzzy msgid "Push to" msgstr "Отправить" @@ -1785,18 +1701,22 @@ msgid "A branch is required for 'Merged Into'." msgstr "Для опции 'Объединено Ń' требŃетŃŃŹ Ńказать ветвь." #: lib/remote_branch_delete.tcl:184 -#, fuzzy, tcl-format +#, tcl-format msgid "" "The following branches are not completely merged into %s:\n" "\n" " - %s" -msgstr "СледŃющие ветви объединены Ń %s не полноŃтью:" +msgstr "" +"СледŃющие ветви объединены Ń %s не полноŃтью:" +"\n" +" - %s" -# TOVERIFY #: lib/remote_branch_delete.tcl:189 -#, fuzzy, tcl-format +#, 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." +msgstr "" +"Один или неŃколько теŃтов на объединение не проŃли, ĐżĐľŃ‚ĐľĐĽŃ Ń‡Ń‚Đľ " +"Đ’Ń‹ не полŃчили необходимые ŃĐľŃтояния. ПопробŃйте Ńначала полŃчить их из %s." #: lib/remote_branch_delete.tcl:207 msgid "Please select one or more branches to delete." @@ -1819,7 +1739,7 @@ msgstr "Удаление ветвей из %s" #: lib/remote_branch_delete.tcl:286 msgid "No repository selected." -msgstr "Не Ńказан репозиторий" +msgstr "Не Ńказан репозиторий." #: lib/remote_branch_delete.tcl:291 #, tcl-format @@ -1840,9 +1760,9 @@ msgid "%s ... %*i of %*i %s (%3i%%)" msgstr "%s ... %*i из %*i %s (%3i%%)" #: lib/transport.tcl:6 -#, fuzzy, tcl-format +#, tcl-format msgid "fetch %s" -msgstr "ПолŃчить" +msgstr "полŃчение %s" #: lib/transport.tcl:7 #, tcl-format @@ -1851,9 +1771,9 @@ msgstr "ПолŃчение изменений из %s " # carbon copy #: lib/transport.tcl:18 -#, fuzzy, tcl-format +#, tcl-format msgid "remote prune %s" -msgstr "remote prune %s" +msgstr "чиŃтка внеŃнего %s" #: lib/transport.tcl:19 #, tcl-format @@ -1877,7 +1797,7 @@ msgstr "Отправка %s %s в %s" #: lib/transport.tcl:89 msgid "Push Branches" -msgstr "Отправить изменения" +msgstr "Отправить изменения в ветвях" #: lib/transport.tcl:103 msgid "Source Branches" @@ -1889,7 +1809,7 @@ msgstr "Репозиторий назначения" #: lib/transport.tcl:158 msgid "Transfer Options" -msgstr "НаŃтройки передачи" +msgstr "НаŃтройки отправки" #: lib/transport.tcl:160 msgid "Force overwrite existing branch (may discard changes)" @@ -1903,31 +1823,3 @@ msgstr "ĐŃпользовать thin pack (для медленных Ńетев 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..." - From d4e890e5de1ea7107d8d1b4134ab0144bbf27b8c Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 23 Oct 2007 16:55:32 -0400 Subject: [PATCH 086/187] git-gui: Make sure we get errors from git-update-index I'm seeing a lot of silent failures from git-update-index on Windows and this is leaving the index.lock file intact, which means users are later unable to perform additional operations. When the index is locked behind our back and we are unable to use it we may need to allow the user to delete the index lock and try again. However our UI state is probably not currect as we have assumed that some changes were applied but none of them actually did. A rescan is the easiest (in code anyway) solution to correct our UI to show what the index really has (or doesn't have). Signed-off-by: Shawn O. Pearce --- lib/index.tcl | 61 +++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 52 insertions(+), 9 deletions(-) diff --git a/lib/index.tcl b/lib/index.tcl index 44689ab63b..28ca039012 100644 --- a/lib/index.tcl +++ b/lib/index.tcl @@ -1,6 +1,55 @@ # git-gui index (add/remove) support # Copyright (C) 2006, 2007 Shawn Pearce +proc _delete_indexlock {} { + if {[catch {file delete -- [gitdir index.lock]} err]} { + error_popup [strcat [mc "Unable to unlock the index."] "\n\n$err"] + } +} + +proc _close_updateindex {fd after} { + fconfigure $fd -blocking 1 + if {[catch {close $fd} err]} { + set w .indexfried + toplevel $w + wm title $w [strcat "[appname] ([reponame]): " [mc "Index Error"]] + wm geometry $w "+[winfo rootx .]+[winfo rooty .]" + pack [label $w.msg \ + -justify left \ + -anchor w \ + -text [strcat \ + [mc "Updating the Git index failed. A rescan will be automatically started to resynchronize git-gui."] \ + "\n\n$err"] \ + ] -anchor w + + frame $w.buttons + button $w.buttons.continue \ + -text [mc "Continue"] \ + -command [list destroy $w] + pack $w.buttons.continue -side right -padx 5 + button $w.buttons.unlock \ + -text [mc "Unlock Index"] \ + -command "destroy $w; _delete_indexlock" + pack $w.buttons.unlock -side right + pack $w.buttons -side bottom -fill x -pady 10 -padx 10 + + wm protocol $w WM_DELETE_WINDOW update + bind $w.buttons.continue " + grab $w + focus $w.buttons.continue + " + tkwait window $w + + $::main_status stop + unlock_index + rescan $after 0 + return + } + + unlock_index + uplevel #0 $after +} + proc update_indexinfo {msg pathList after} { global update_index_cp @@ -41,9 +90,7 @@ proc write_update_indexinfo {fd pathList totalCnt batch msg after} { global file_states current_diff_path if {$update_index_cp >= $totalCnt} { - close $fd - unlock_index - uplevel #0 $after + _close_updateindex $fd $after return } @@ -116,9 +163,7 @@ proc write_update_index {fd pathList totalCnt batch msg after} { global file_states current_diff_path if {$update_index_cp >= $totalCnt} { - close $fd - unlock_index - uplevel #0 $after + _close_updateindex $fd $after return } @@ -201,9 +246,7 @@ proc write_checkout_index {fd pathList totalCnt batch msg after} { global file_states current_diff_path if {$update_index_cp >= $totalCnt} { - close $fd - unlock_index - uplevel #0 $after + _close_updateindex $fd $after return } From ab0d33c43852b047c2a3e5ae960df9a146363e7c Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Tue, 23 Oct 2007 18:44:55 -0400 Subject: [PATCH 087/187] git-gui: Protect against bad translation strings If a translation string uses a format character we don't have an argument for then it may throw an error when we attempt to format the translation. In this case switch back to the default format that comes with the program (aka the English translation). Signed-off-by: Shawn O. Pearce --- git-gui.sh | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/git-gui.sh b/git-gui.sh index 38c6e595d8..a7227ac1b6 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -88,13 +88,20 @@ if {![catch {set _verbose $env(GITGUI_VERBOSE)}]} { package require msgcat -proc mc {fmt args} { - set fmt [::msgcat::mc $fmt] +proc _mc_trim {fmt} { set cmk [string first @@ $fmt] if {$cmk > 0} { - set fmt [string range $fmt 0 [expr {$cmk - 1}]] + return [string range $fmt 0 [expr {$cmk - 1}]] } - return [eval [list format $fmt] $args] + return $fmt +} + +proc mc {en_fmt args} { + set fmt [_mc_trim [::msgcat::mc $en_fmt]] + if {[catch {set msg [eval [list format $fmt] $args]} err]} { + set msg [eval [list format [_mc_trim $en_fmt]] $args] + } + return $msg } proc strcat {args} { From f94872dfc18c2670c9eb4ed8528ba45943213f39 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 30 Oct 2007 11:24:37 +0000 Subject: [PATCH 088/187] po2msg: ignore entries marked with "fuzzy" As Christian Stimming pointed out, entries which are "fuzzy" need to be checked by human translators, and cannot be used. Signed-off-by: Johannes Schindelin Signed-off-by: Shawn O. Pearce --- po/po2msg.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) diff --git a/po/po2msg.sh b/po/po2msg.sh index da0765dd80..48a2669967 100644 --- a/po/po2msg.sh +++ b/po/po2msg.sh @@ -48,12 +48,16 @@ for {set i 1} {$i < $argc} {incr i} { } proc flush_msg {} { - global msgid msgstr mode lang out + global msgid msgstr mode lang out fuzzy if {![info exists msgid] || $mode == ""} { return } set mode "" + if {$fuzzy == 1} { + set fuzzy 0 + return + } if {$msgid == ""} { set prefix "set ::msgcat::header" @@ -64,6 +68,7 @@ proc flush_msg {} { puts $out "$prefix \"[u2a $msgstr]\"" } +set fuzzy 0 foreach file $files { regsub "^.*/\(\[^/\]*\)\.po$" $file "$output_directory\\1.msg" outfile set in [open $file "r"] @@ -73,7 +78,11 @@ foreach file $files { set mode "" while {[gets $in line] >= 0} { if {[regexp "^#" $line]} { - flush_msg + if {[regexp ", fuzzy" $line]} { + set fuzzy 1 + } else { + flush_msg + } continue } elseif {[regexp "^msgid \"(.*)\"$" $line dummy match]} { flush_msg From 9a25ae82dd635957e40e2d29ea5022d25fb6c2b0 Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 30 Oct 2007 11:24:53 +0000 Subject: [PATCH 089/187] po2msg: ignore untranslated messages Do not generate translations when the translated message is empty. Signed-off-by: Johannes Schindelin Signed-off-by: Shawn O. Pearce --- po/po2msg.sh | 3 +++ 1 file changed, 3 insertions(+) diff --git a/po/po2msg.sh b/po/po2msg.sh index 48a2669967..91d420b4fb 100644 --- a/po/po2msg.sh +++ b/po/po2msg.sh @@ -62,6 +62,9 @@ proc flush_msg {} { if {$msgid == ""} { set prefix "set ::msgcat::header" } else { + if {$msgstr == ""} { + return + } set prefix "::msgcat::mcset $lang \"[u2a $msgid]\"" } From 95a8b67c2642c576f848005e72126fb25d11286c Mon Sep 17 00:00:00 2001 From: Johannes Schindelin Date: Tue, 30 Oct 2007 11:25:31 +0000 Subject: [PATCH 090/187] po2msg: actually output statistics The "--statistics" option was ignored so far; no longer. Now we have a message similar to that of msgfmt. (Untranslated, though ;-) Signed-off-by: Johannes Schindelin Signed-off-by: Shawn O. Pearce --- po/po2msg.sh | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/po/po2msg.sh b/po/po2msg.sh index 91d420b4fb..c63248e375 100644 --- a/po/po2msg.sh +++ b/po/po2msg.sh @@ -26,11 +26,17 @@ proc u2a {s} { set output_directory "." set lang "dummy" set files [list] +set show_statistics 0 # parse options -for {set i 1} {$i < $argc} {incr i} { +for {set i 0} {$i < $argc} {incr i} { set arg [lindex $argv $i] - if {$arg == "--statistics" || $arg == "--tcl"} { + if {$arg == "--statistics"} { + incr show_statistics + continue + } + if {$arg == "--tcl"} { + # we know continue } if {$arg == "-l"} { @@ -49,12 +55,14 @@ for {set i 1} {$i < $argc} {incr i} { proc flush_msg {} { global msgid msgstr mode lang out fuzzy + global translated_count fuzzy_count not_translated_count if {![info exists msgid] || $mode == ""} { return } set mode "" if {$fuzzy == 1} { + incr fuzzy_count set fuzzy 0 return } @@ -63,15 +71,20 @@ proc flush_msg {} { set prefix "set ::msgcat::header" } else { if {$msgstr == ""} { + incr not_translated_count return } set prefix "::msgcat::mcset $lang \"[u2a $msgid]\"" + incr translated_count } puts $out "$prefix \"[u2a $msgstr]\"" } set fuzzy 0 +set translated_count 0 +set fuzzy_count 0 +set not_translated_count 0 foreach file $files { regsub "^.*/\(\[^/\]*\)\.po$" $file "$output_directory\\1.msg" outfile set in [open $file "r"] @@ -113,3 +126,8 @@ foreach file $files { close $out } +if {$show_statistics} { + puts [concat "$translated_count translated messages, " \ + "$fuzzy_count fuzzy ones, " \ + "$not_translated_count untranslated ones."] +} From efb848666cd45be5bc213785bedc772969fb3da0 Mon Sep 17 00:00:00 2001 From: Alex Riesen Date: Wed, 31 Oct 2007 22:16:17 +0100 Subject: [PATCH 091/187] Updated russian translation of git-gui Fixed some spelling mistakes. Signed-off-by: Shawn O. Pearce --- po/ru.po | 516 +++++++++++++++++++++++++++++++------------------------ 1 file changed, 292 insertions(+), 224 deletions(-) diff --git a/po/ru.po b/po/ru.po index b8e9447942..6727a832ea 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-10-10 04:04-0400\n" +"POT-Creation-Date: 2007-10-31 21:23+0100\n" "PO-Revision-Date: 2007-10-22 22:30-0200\n" "Last-Translator: Alex Riesen \n" "Language-Team: Russian Translation \n" @@ -15,33 +15,33 @@ msgstr "" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: git-gui.sh:41 git-gui.sh:634 git-gui.sh:648 git-gui.sh:661 git-gui.sh:744 -#: git-gui.sh:763 +#: git-gui.sh:41 git-gui.sh:597 git-gui.sh:611 git-gui.sh:624 git-gui.sh:707 +#: git-gui.sh:726 msgid "git-gui: fatal error" msgstr "git-gui: критичеŃкая ĐľŃибка" -#: git-gui.sh:595 +#: git-gui.sh:558 #, tcl-format msgid "Invalid font specified in %s:" msgstr "Đ’ %s ŃŃтановлен неверный Ńрифт:" -#: git-gui.sh:620 +#: git-gui.sh:583 msgid "Main Font" msgstr "Шрифт интерфейŃа" -#: git-gui.sh:621 +#: git-gui.sh:584 msgid "Diff/Console Font" msgstr "Шрифт конŃоли и изменений (diff)" -#: git-gui.sh:635 +#: git-gui.sh:598 msgid "Cannot find git in PATH." msgstr "git не найден в PATH." -#: git-gui.sh:662 +#: git-gui.sh:625 msgid "Cannot parse Git version string:" msgstr "Невозможно раŃпознать ŃŃ‚Ń€ĐľĐşŃ Đ˛ĐµŃ€Ńии Git: " -#: git-gui.sh:680 +#: git-gui.sh:643 #, tcl-format msgid "" "Git version cannot be determined.\n" @@ -59,79 +59,79 @@ msgstr "" "\n" "Принять '%s' как верŃию 1.5.0?\n" -#: git-gui.sh:853 +#: git-gui.sh:881 msgid "Git directory not found:" msgstr "Каталог Git не найден:" -#: git-gui.sh:860 +#: git-gui.sh:888 msgid "Cannot move to top of working directory:" msgstr "Невозможно перейти Đş корню рабочего каталога репозитория: " -#: git-gui.sh:867 +#: git-gui.sh:895 msgid "Cannot use funny .git directory:" msgstr "Каталог.git иŃпорчен: " -#: git-gui.sh:872 +#: git-gui.sh:900 msgid "No working directory" msgstr "ОтŃŃŃ‚ŃтвŃет рабочий каталог" -#: git-gui.sh:1019 +#: git-gui.sh:1047 msgid "Refreshing file status..." msgstr "Обновление информации Đľ ŃĐľŃтоянии файлов..." -#: git-gui.sh:1084 +#: git-gui.sh:1112 msgid "Scanning for modified files ..." msgstr "ПоиŃĐş измененных файлов..." -#: git-gui.sh:1259 lib/browser.tcl:245 +#: git-gui.sh:1287 lib/browser.tcl:245 msgid "Ready." msgstr "Готово." -#: git-gui.sh:1525 +#: git-gui.sh:1553 msgid "Unmodified" msgstr "Не изменено" -#: git-gui.sh:1527 +#: git-gui.sh:1555 msgid "Modified, not staged" msgstr "Đзменено, не подготовлено" -#: git-gui.sh:1528 git-gui.sh:1533 +#: git-gui.sh:1556 git-gui.sh:1561 msgid "Staged for commit" msgstr "Подготовлено для Ńохранения" -#: git-gui.sh:1529 git-gui.sh:1534 +#: git-gui.sh:1557 git-gui.sh:1562 msgid "Portions staged for commit" msgstr "ЧаŃти, подготовленные для Ńохранения" -#: git-gui.sh:1530 git-gui.sh:1535 +#: git-gui.sh:1558 git-gui.sh:1563 msgid "Staged for commit, missing" msgstr "Подготовлено для Ńохранения, отŃŃŃ‚ŃтвŃет" -#: git-gui.sh:1532 +#: git-gui.sh:1560 msgid "Untracked, not staged" msgstr "Не отŃлеживаетŃŃŹ, не подготовлено" -#: git-gui.sh:1537 +#: git-gui.sh:1565 msgid "Missing" msgstr "ОтŃŃŃ‚ŃтвŃет" -#: git-gui.sh:1538 +#: git-gui.sh:1566 msgid "Staged for removal" msgstr "Подготовлено для Ńдаления" -#: git-gui.sh:1539 +#: git-gui.sh:1567 msgid "Staged for removal, still present" msgstr "Подготовлено для Ńдаления, еще не Ńдалено" -#: git-gui.sh:1541 git-gui.sh:1542 git-gui.sh:1543 git-gui.sh:1544 +#: git-gui.sh:1569 git-gui.sh:1570 git-gui.sh:1571 git-gui.sh:1572 msgid "Requires merge resolution" msgstr "ТребŃетŃŃŹ разреŃение конфликта при объединении" -#: git-gui.sh:1579 +#: git-gui.sh:1607 msgid "Starting gitk... please wait..." msgstr "ЗапŃŃкаетŃŃŹ gitk... пожалŃĐąŃта, ждите..." -#: git-gui.sh:1588 +#: git-gui.sh:1616 #, tcl-format msgid "" "Unable to start gitk:\n" @@ -142,296 +142,295 @@ msgstr "" "\n" "%s не ŃŃщеŃтвŃет" -#: git-gui.sh:1788 lib/choose_repository.tcl:32 +#: git-gui.sh:1816 lib/choose_repository.tcl:35 msgid "Repository" msgstr "Репозиторий" -#: git-gui.sh:1789 +#: git-gui.sh:1817 msgid "Edit" msgstr "Редактировать" -#: git-gui.sh:1791 lib/choose_rev.tcl:560 +#: git-gui.sh:1819 lib/choose_rev.tcl:560 msgid "Branch" msgstr "Ветвь" -#: git-gui.sh:1794 lib/choose_rev.tcl:547 +#: git-gui.sh:1822 lib/choose_rev.tcl:547 msgid "Commit@@noun" msgstr "СоŃтояние" -#: git-gui.sh:1797 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +#: git-gui.sh:1825 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 msgid "Merge" msgstr "Объединить" -#: git-gui.sh:1798 lib/choose_rev.tcl:556 +#: git-gui.sh:1826 lib/choose_rev.tcl:556 msgid "Remote" msgstr "ВнеŃние репозитории" -#: git-gui.sh:1807 +#: git-gui.sh:1835 msgid "Browse Current Branch's Files" msgstr "ПроŃмотреть файлы текŃщей ветви" -#: git-gui.sh:1811 +#: git-gui.sh:1839 msgid "Browse Branch Files..." msgstr "Показать файлы ветви..." -#: git-gui.sh:1816 +#: git-gui.sh:1844 msgid "Visualize Current Branch's History" msgstr "ĐŃтория текŃщей ветви наглядно" -#: git-gui.sh:1820 +#: git-gui.sh:1848 msgid "Visualize All Branch History" msgstr "ĐŃтория вŃех ветвей наглядно" -#: git-gui.sh:1827 +#: git-gui.sh:1855 #, tcl-format msgid "Browse %s's Files" msgstr "Показать файлы ветви %s" -#: git-gui.sh:1829 +#: git-gui.sh:1857 #, tcl-format msgid "Visualize %s's History" msgstr "ĐŃтория ветви %s наглядно" -#: git-gui.sh:1834 lib/database.tcl:27 lib/database.tcl:67 +#: git-gui.sh:1862 lib/database.tcl:27 lib/database.tcl:67 msgid "Database Statistics" msgstr "СтатиŃтика базы данных" -#: git-gui.sh:1837 lib/database.tcl:34 +#: git-gui.sh:1865 lib/database.tcl:34 msgid "Compress Database" msgstr "Сжать Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń…" -#: git-gui.sh:1840 +#: git-gui.sh:1868 msgid "Verify Database" msgstr "Проверить Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń…" -#: git-gui.sh:1847 git-gui.sh:1851 git-gui.sh:1855 lib/shortcut.tcl:9 -#: lib/shortcut.tcl:45 lib/shortcut.tcl:84 +#: git-gui.sh:1875 git-gui.sh:1879 git-gui.sh:1883 lib/shortcut.tcl:7 +#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 msgid "Create Desktop Icon" msgstr "Создать ярлык на рабочем Ńтоле" -#: git-gui.sh:1860 lib/choose_repository.tcl:36 lib/choose_repository.tcl:95 +#: git-gui.sh:1888 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 msgid "Quit" msgstr "Выход" -#: git-gui.sh:1867 +#: git-gui.sh:1895 msgid "Undo" msgstr "Отменить" -#: git-gui.sh:1870 +#: git-gui.sh:1898 msgid "Redo" msgstr "Повторить" -#: git-gui.sh:1874 git-gui.sh:2366 +#: git-gui.sh:1902 git-gui.sh:2395 msgid "Cut" msgstr "Вырезать" -#: git-gui.sh:1877 git-gui.sh:2369 git-gui.sh:2440 git-gui.sh:2512 +#: git-gui.sh:1905 git-gui.sh:2398 git-gui.sh:2469 git-gui.sh:2541 #: lib/console.tcl:67 msgid "Copy" msgstr "Копировать" -#: git-gui.sh:1880 git-gui.sh:2372 +#: git-gui.sh:1908 git-gui.sh:2401 msgid "Paste" msgstr "Đ’Ńтавить" -#: git-gui.sh:1883 git-gui.sh:2375 lib/branch_delete.tcl:26 +#: git-gui.sh:1911 git-gui.sh:2404 lib/branch_delete.tcl:26 #: lib/remote_branch_delete.tcl:38 msgid "Delete" msgstr "Удалить" -#: git-gui.sh:1887 git-gui.sh:2379 git-gui.sh:2516 lib/console.tcl:69 +#: git-gui.sh:1915 git-gui.sh:2408 git-gui.sh:2545 lib/console.tcl:69 msgid "Select All" msgstr "Выделить вŃе" -#: git-gui.sh:1896 +#: git-gui.sh:1924 msgid "Create..." msgstr "Создать..." -#: git-gui.sh:1902 +#: git-gui.sh:1930 msgid "Checkout..." msgstr "Перейти..." -#: git-gui.sh:1908 +#: git-gui.sh:1936 msgid "Rename..." msgstr "Переименовать..." -#: git-gui.sh:1913 git-gui.sh:2012 +#: git-gui.sh:1941 git-gui.sh:2040 msgid "Delete..." msgstr "Удалить..." -#: git-gui.sh:1918 +#: git-gui.sh:1946 msgid "Reset..." msgstr "СброŃить..." -#: git-gui.sh:1930 git-gui.sh:2313 +#: git-gui.sh:1958 git-gui.sh:2342 msgid "New Commit" msgstr "Новое ŃĐľŃтояние" -#: git-gui.sh:1938 git-gui.sh:2320 +#: git-gui.sh:1966 git-gui.sh:2349 msgid "Amend Last Commit" msgstr "ĐŃправить поŃледнее ŃĐľŃтояние" -#: git-gui.sh:1947 git-gui.sh:2280 lib/remote_branch_delete.tcl:99 +#: git-gui.sh:1975 git-gui.sh:2309 lib/remote_branch_delete.tcl:99 msgid "Rescan" msgstr "Перечитать" -#: git-gui.sh:1953 +#: git-gui.sh:1981 msgid "Stage To Commit" msgstr "Подготовить для Ńохранения" -#: git-gui.sh:1958 +#: git-gui.sh:1986 msgid "Stage Changed Files To Commit" msgstr "Подготовить измененные файлы для Ńохранения" -#: git-gui.sh:1964 +#: git-gui.sh:1992 msgid "Unstage From Commit" msgstr "Убрать из подготовленного" -#: git-gui.sh:1969 lib/index.tcl:352 +#: git-gui.sh:1997 lib/index.tcl:393 msgid "Revert Changes" msgstr "Отменить изменения" -#: git-gui.sh:1976 git-gui.sh:2292 git-gui.sh:2390 +#: git-gui.sh:2004 git-gui.sh:2321 git-gui.sh:2419 msgid "Sign Off" msgstr "ПодпиŃать" -#: git-gui.sh:1980 git-gui.sh:2296 +#: git-gui.sh:2008 git-gui.sh:2325 msgid "Commit@@verb" msgstr "Сохранить" -#: git-gui.sh:1991 +#: git-gui.sh:2019 msgid "Local Merge..." msgstr "Локальное объединение..." -#: git-gui.sh:1996 +#: git-gui.sh:2024 msgid "Abort Merge..." msgstr "Прервать объединение..." -#: git-gui.sh:2008 +#: git-gui.sh:2036 msgid "Push..." msgstr "Отправить..." -#: git-gui.sh:2019 lib/choose_repository.tcl:41 -#, fuzzy +#: git-gui.sh:2047 lib/choose_repository.tcl:40 msgid "Apple" msgstr "" -#: git-gui.sh:2022 git-gui.sh:2044 lib/about.tcl:13 -#: lib/choose_repository.tcl:44 lib/choose_repository.tcl:50 +#: git-gui.sh:2050 git-gui.sh:2072 lib/about.tcl:13 +#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 #, tcl-format msgid "About %s" msgstr "Đž %s" -#: git-gui.sh:2026 +#: git-gui.sh:2054 msgid "Preferences..." msgstr "НаŃтройки..." -#: git-gui.sh:2034 git-gui.sh:2558 +#: git-gui.sh:2062 git-gui.sh:2587 msgid "Options..." msgstr "НаŃтройки..." -#: git-gui.sh:2040 lib/choose_repository.tcl:47 +#: git-gui.sh:2068 lib/choose_repository.tcl:46 msgid "Help" msgstr "Помощь" -#: git-gui.sh:2081 +#: git-gui.sh:2109 msgid "Online Documentation" msgstr "ДокŃментация в интернете" -#: git-gui.sh:2165 +#: git-gui.sh:2193 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" msgstr "критичеŃкая ĐľŃибка: %s: нет такого файла или каталога" -#: git-gui.sh:2198 +#: git-gui.sh:2226 msgid "Current Branch:" msgstr "ТекŃщая ветвь:" -#: git-gui.sh:2219 +#: git-gui.sh:2247 msgid "Staged Changes (Will Commit)" msgstr "Подготовлено (бŃдет Ńохранено)" -#: git-gui.sh:2239 +#: git-gui.sh:2266 msgid "Unstaged Changes" msgstr "Đзменено (не бŃдет Ńохранено)" -#: git-gui.sh:2286 +#: git-gui.sh:2315 msgid "Stage Changed" msgstr "Подготовить вŃе" -#: git-gui.sh:2302 lib/transport.tcl:93 lib/transport.tcl:182 +#: git-gui.sh:2331 lib/transport.tcl:93 lib/transport.tcl:182 msgid "Push" msgstr "Отправить" -#: git-gui.sh:2332 +#: git-gui.sh:2361 msgid "Initial Commit Message:" msgstr "Комментарий Đş ĐżĐµŃ€Đ˛ĐľĐĽŃ ŃĐľŃтоянию:" -#: git-gui.sh:2333 +#: git-gui.sh:2362 msgid "Amended Commit Message:" msgstr "Комментарий Đş иŃĐżŃ€Đ°Đ˛Đ»ĐµĐ˝Đ˝ĐľĐĽŃ ŃĐľŃтоянию:" -#: git-gui.sh:2334 +#: git-gui.sh:2363 msgid "Amended Initial Commit Message:" msgstr "Комментарий Đş иŃĐżŃ€Đ°Đ˛Đ»ĐµĐ˝Đ˝ĐľĐĽŃ ĐżĐµŃ€Đ˛ĐľĐ˝Đ°Ń‡Đ°Đ»ŃŚĐ˝ĐľĐĽŃ ŃĐľŃтоянию:" -#: git-gui.sh:2335 +#: git-gui.sh:2364 msgid "Amended Merge Commit Message:" msgstr "Комментарий Đş иŃĐżŃ€Đ°Đ˛Đ»ĐµĐ˝Đ˝ĐľĐĽŃ ĐľĐ±ŃŠĐµĐ´Đ¸Đ˝ĐµĐ˝Đ¸ŃŽ:" -#: git-gui.sh:2336 +#: git-gui.sh:2365 msgid "Merge Commit Message:" msgstr "Комментарий Đş объединению:" -#: git-gui.sh:2337 +#: git-gui.sh:2366 msgid "Commit Message:" msgstr "Комментарий Đş ŃĐľŃтоянию:" -#: git-gui.sh:2382 git-gui.sh:2520 lib/console.tcl:71 +#: git-gui.sh:2411 git-gui.sh:2549 lib/console.tcl:71 msgid "Copy All" msgstr "Копировать вŃе" -#: git-gui.sh:2406 lib/blame.tcl:104 +#: git-gui.sh:2435 lib/blame.tcl:104 msgid "File:" msgstr "Файл:" -#: git-gui.sh:2508 +#: git-gui.sh:2537 msgid "Refresh" msgstr "Обновить" -#: git-gui.sh:2529 +#: git-gui.sh:2558 msgid "Apply/Reverse Hunk" msgstr "Применить/Убрать изменение" -#: git-gui.sh:2535 +#: git-gui.sh:2564 msgid "Decrease Font Size" msgstr "УменьŃить размер Ńрифта" -#: git-gui.sh:2539 +#: git-gui.sh:2568 msgid "Increase Font Size" msgstr "Увеличить размер Ńрифта" -#: git-gui.sh:2544 +#: git-gui.sh:2573 msgid "Show Less Context" msgstr "МеньŃе контекŃта" -#: git-gui.sh:2551 +#: git-gui.sh:2580 msgid "Show More Context" msgstr "БольŃе контекŃта" -#: git-gui.sh:2565 +#: git-gui.sh:2594 msgid "Unstage Hunk From Commit" msgstr "Не Ńохранять чаŃть" -#: git-gui.sh:2567 +#: git-gui.sh:2596 msgid "Stage Hunk For Commit" msgstr "Подготовить чаŃть для Ńохранения" -#: git-gui.sh:2586 +#: git-gui.sh:2615 msgid "Initializing..." msgstr "Đнициализация..." -#: git-gui.sh:2677 +#: git-gui.sh:2706 #, tcl-format msgid "" "Possible environment issues exist.\n" @@ -448,7 +447,7 @@ msgstr "" "запŃщенными из %s\n" "\n" -#: git-gui.sh:2707 +#: git-gui.sh:2736 msgid "" "\n" "This is due to a known issue with the\n" @@ -458,7 +457,7 @@ msgstr "" "Это извеŃтная проблема Ń Tcl,\n" "раŃпроŃтраняемым Cygwin." -#: git-gui.sh:2712 +#: git-gui.sh:2741 #, tcl-format msgid "" "\n" @@ -579,7 +578,7 @@ msgstr "Создание ветви" msgid "Create New Branch" msgstr "Создать новŃŃŽ ветвь" -#: lib/branch_create.tcl:31 lib/choose_repository.tcl:199 +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 msgid "Create" msgstr "Создать" @@ -732,9 +731,9 @@ msgstr "[На Ńровень выŃе]" msgid "Browse Branch Files" msgstr "Показать файлы ветви" -#: lib/browser.tcl:277 lib/choose_repository.tcl:215 -#: lib/choose_repository.tcl:305 lib/choose_repository.tcl:315 -#: lib/choose_repository.tcl:811 +#: lib/browser.tcl:277 lib/choose_repository.tcl:391 +#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 +#: lib/choose_repository.tcl:989 msgid "Browse" msgstr "Показать" @@ -788,7 +787,8 @@ msgstr "Рабочая облаŃть заблокирована Đ´Ń€Ńгим Đż 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" +"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 "" @@ -822,11 +822,13 @@ msgstr "Ветвь '%s' ĐľŃтаетŃŃŹ текŃщей." 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'." +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." msgstr "" "Đ’Ń‹ находитеŃŃŚ не в локальной ветви.\n" "\n" -"Đ•Ńли вы хотите Ńнова вернŃтьŃŃŹ Đş какой-нибŃĐ´ŃŚ ветви, Ńоздайте ее ŃейчаŃ, начиная Ń 'ТекŃщего отŃоединенного ŃĐľŃтояния'." +"Đ•Ńли вы хотите Ńнова вернŃтьŃŃŹ Đş какой-нибŃĐ´ŃŚ ветви, Ńоздайте ее ŃейчаŃ, " +"начиная Ń 'ТекŃщего отŃоединенного ŃĐľŃтояния'." #: lib/checkout_op.tcl:446 #, tcl-format @@ -856,19 +858,21 @@ msgstr "Наглядно" 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" +"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" +"Đ’Đ°Ń Ń€Đ°Đ±ĐľŃ‡Đ¸Đą каталог обновлен только чаŃтично. Были обновлены вŃе файлы кроме " +"ŃĐ»Ńжебных файлов Git. \n" "\n" "Этого не должно было произойти. %s заверŃаетŃŃŹ." #: lib/choose_font.tcl:39 msgid "Select" -msgstr "Выделить вŃе" +msgstr "Выбрать" #: lib/choose_font.tcl:53 msgid "Font Family" @@ -890,210 +894,226 @@ msgstr "" "Это пример текŃта.\n" "Đ•Ńли Вам нравитŃŃŹ этот текŃŃ‚, это может быть Đ’Đ°Ń Ńрифт." -#: lib/choose_repository.tcl:25 +#: lib/choose_repository.tcl:27 msgid "Git Gui" msgstr "" -#: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 +#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 msgid "Create New Repository" msgstr "Создать новый репозиторий" -#: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 +#: lib/choose_repository.tcl:86 +msgid "New..." +msgstr "Новый..." + +#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 msgid "Clone Existing Repository" msgstr "Склонировать ŃŃщеŃтвŃющий репозиторий" -#: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 +#: lib/choose_repository.tcl:99 +msgid "Clone..." +msgstr "Склонировать..." + +#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 msgid "Open Existing Repository" msgstr "Выбрать ŃŃщеŃтвŃющий репозиторий" -#: lib/choose_repository.tcl:91 -msgid "Next >" -msgstr "ДальŃе >" +#: lib/choose_repository.tcl:112 +msgid "Open..." +msgstr "Открыть..." -#: lib/choose_repository.tcl:152 +#: lib/choose_repository.tcl:125 +msgid "Recent Repositories" +msgstr "Недавние репозитории" + +#: lib/choose_repository.tcl:131 +msgid "Open Recent Repository:" +msgstr "Открыть поŃледний репозиторий" + +#: lib/choose_repository.tcl:294 #, tcl-format msgid "Location %s already exists." msgstr "ĐźŃть '%s' Ńже ŃŃщеŃтвŃет." -#: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 -#: lib/choose_repository.tcl:172 +#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 +#: lib/choose_repository.tcl:314 #, tcl-format msgid "Failed to create repository %s:" msgstr "Не ŃдалоŃŃŚ Ńоздать репозиторий %s:" -#: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 +#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 msgid "Directory:" msgstr "Каталог:" -#: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 -#: lib/choose_repository.tcl:834 +#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1013 msgid "Git Repository" msgstr "Репозиторий" -#: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260 +#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 #, tcl-format msgid "Directory %s already exists." msgstr "Каталог '%s' Ńже ŃŃщеŃтвŃет." -#: lib/choose_repository.tcl:265 +#: lib/choose_repository.tcl:442 #, tcl-format msgid "File %s already exists." msgstr "Файл '%s' Ńже ŃŃщеŃтвŃет." -#: lib/choose_repository.tcl:286 +#: lib/choose_repository.tcl:463 msgid "Clone" msgstr "Склонировать" -#: lib/choose_repository.tcl:299 +#: lib/choose_repository.tcl:476 msgid "URL:" msgstr "СŃылка:" -#: lib/choose_repository.tcl:319 +#: lib/choose_repository.tcl:496 msgid "Clone Type:" msgstr "Тип клона:" -#: lib/choose_repository.tcl:325 +#: lib/choose_repository.tcl:502 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" msgstr "Стандартный (БыŃтрый, полŃизбыточный, \"жеŃткие\" ŃŃылки)" -#: lib/choose_repository.tcl:331 +#: lib/choose_repository.tcl:508 msgid "Full Copy (Slower, Redundant Backup)" msgstr "Полная копия (Медленный, Ńоздает резервнŃŃŽ копию)" -#: lib/choose_repository.tcl:337 +#: lib/choose_repository.tcl:514 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 +#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 +#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 +#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 #, tcl-format msgid "Not a Git repository: %s" msgstr "Каталог не являетŃŃŹ репозиторием: %s" -#: lib/choose_repository.tcl:405 +#: lib/choose_repository.tcl:586 msgid "Standard only available for local repository." msgstr "Стандартный клон возможен только для локального репозитория." -#: lib/choose_repository.tcl:409 +#: lib/choose_repository.tcl:590 msgid "Shared only available for local repository." msgstr "Общий клон возможен только для локального репозитория." -#: lib/choose_repository.tcl:439 +#: lib/choose_repository.tcl:617 msgid "Failed to configure origin" msgstr "Не ĐĽĐľĐłŃ ŃконфигŃрировать иŃходный репозиторий." -#: lib/choose_repository.tcl:451 +#: lib/choose_repository.tcl:629 msgid "Counting objects" msgstr "Считаю объекты" -#: lib/choose_repository.tcl:452 -#, fuzzy +#: lib/choose_repository.tcl:630 msgid "buckets" msgstr "" -#: lib/choose_repository.tcl:476 +#: lib/choose_repository.tcl:654 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" msgstr "Не ĐĽĐľĐłŃ Ńкопировать objects/info/alternates: %s" -#: lib/choose_repository.tcl:512 +#: lib/choose_repository.tcl:690 #, 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 +#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 +#: lib/choose_repository.tcl:918 msgid "The 'master' branch has not been initialized." msgstr "Не инициализирована ветвь 'master'." -#: lib/choose_repository.tcl:527 +#: lib/choose_repository.tcl:705 msgid "Hardlinks are unavailable. Falling back to copying." msgstr "\"ЖеŃткие ŃŃылки\" не Đ´ĐľŃŃ‚Ńпны. Đ‘ŃĐ´Ń Đ¸Ńпользовать копирование." -#: lib/choose_repository.tcl:539 +#: lib/choose_repository.tcl:717 #, tcl-format msgid "Cloning from %s" msgstr "Клонирование %s" -#: lib/choose_repository.tcl:570 +#: lib/choose_repository.tcl:748 msgid "Copying objects" msgstr "Копирование objects" -#: lib/choose_repository.tcl:571 +#: lib/choose_repository.tcl:749 msgid "KiB" msgstr "КБ" -#: lib/choose_repository.tcl:595 +#: lib/choose_repository.tcl:773 #, tcl-format msgid "Unable to copy object: %s" msgstr "Не ĐĽĐľĐłŃ Ńкопировать объект: %s" -#: lib/choose_repository.tcl:605 +#: lib/choose_repository.tcl:783 msgid "Linking objects" msgstr "Создание ŃŃылок на objects" -#: lib/choose_repository.tcl:606 +#: lib/choose_repository.tcl:784 msgid "objects" msgstr "объекты" -#: lib/choose_repository.tcl:614 +#: lib/choose_repository.tcl:792 #, tcl-format msgid "Unable to hardlink object: %s" msgstr "Не ĐĽĐľĐłŃ \"жеŃтко Ńвязать\" объект: %s" -#: lib/choose_repository.tcl:669 +#: lib/choose_repository.tcl:847 msgid "Cannot fetch branches and objects. See console output for details." -msgstr "Не ĐĽĐľĐłŃ ĐżĐľĐ»Ńчить ветви и объекты. Дополнительная информация на конŃоли." +msgstr "" +"Не ĐĽĐľĐłŃ ĐżĐľĐ»Ńчить ветви и объекты. Дополнительная информация на конŃоли." -#: lib/choose_repository.tcl:680 +#: lib/choose_repository.tcl:858 msgid "Cannot fetch tags. See console output for details." msgstr "Не ĐĽĐľĐłŃ ĐżĐľĐ»Ńчить метки. Дополнительная информация на конŃоли." -#: lib/choose_repository.tcl:704 +#: lib/choose_repository.tcl:882 msgid "Cannot determine HEAD. See console output for details." msgstr "Не ĐĽĐľĐłŃ ĐľĐżŃ€ĐµĐ´ĐµĐ»Đ¸Ń‚ŃŚ HEAD. Дополнительная информация на конŃоли." -#: lib/choose_repository.tcl:713 +#: lib/choose_repository.tcl:891 #, tcl-format msgid "Unable to cleanup %s" msgstr "Не ĐĽĐľĐłŃ ĐľŃ‡Đ¸Ńтить %s" -#: lib/choose_repository.tcl:719 +#: lib/choose_repository.tcl:897 msgid "Clone failed." msgstr "Клонирование не ŃдалоŃŃŚ." -#: lib/choose_repository.tcl:726 +#: lib/choose_repository.tcl:904 msgid "No default branch obtained." msgstr "Не было полŃчено ветви по Ńмолчанию." -#: lib/choose_repository.tcl:737 +#: lib/choose_repository.tcl:915 #, tcl-format msgid "Cannot resolve %s as a commit." msgstr "Не ĐĽĐľĐłŃ Ń€Đ°Ńпознать %s как ŃĐľŃтояние." -#: lib/choose_repository.tcl:749 +#: lib/choose_repository.tcl:927 msgid "Creating working directory" msgstr "Создаю рабочий каталог" -#: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 -#: lib/index.tcl:149 +#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/index.tcl:193 msgid "files" msgstr "файлов" -#: lib/choose_repository.tcl:779 +#: lib/choose_repository.tcl:957 msgid "Initial file checkout failed." msgstr "Не ŃдалоŃŃŚ полŃчить начальное ŃĐľŃтояние файлов репозитория." -#: lib/choose_repository.tcl:795 +#: lib/choose_repository.tcl:973 msgid "Open" msgstr "Открыть" -#: lib/choose_repository.tcl:805 +#: lib/choose_repository.tcl:983 msgid "Repository:" msgstr "Репозиторий:" -#: lib/choose_repository.tcl:854 +#: lib/choose_repository.tcl:1033 #, tcl-format msgid "Failed to open repository %s:" msgstr "Не ŃдалоŃŃŚ открыть репозиторий %s:" @@ -1116,7 +1136,7 @@ msgstr "Ветвь Ńлежения" #: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 msgid "Tag" -msgstr "Метка" +msgstr "Таг" #: lib/choose_rev.tcl:317 #, tcl-format @@ -1143,7 +1163,8 @@ msgstr "СŃылка" 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" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" msgstr "" "ОтŃŃŃ‚ŃтвŃет ŃĐľŃтояние для иŃправления.\n" "\n" @@ -1153,11 +1174,14 @@ msgstr "" 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" +"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" +"ТекŃщее объединение не заверŃено. Невозможно иŃправить предыдŃщее " +"Ńохраненное ŃĐľŃтояние не прерывая текŃщее объединение.\n" #: lib/commit.tcl:49 msgid "Error loading commit data for amend:" @@ -1169,19 +1193,21 @@ msgstr "Невозможно полŃчить информацию об авто #: lib/commit.tcl:81 msgid "Invalid GIT_COMMITTER_IDENT:" -msgstr "Неверная 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" +"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" +"С момента поŃледней проверки репозиторий был изменен Đ´Ń€Ńгой программой Git. " +"Необходимо перечитать репозиторий, прежде чем изменять текŃщŃŃŽ ветвь. \n" "\n" "Это бŃдет Ńделано ŃĐµĐąŃ‡Đ°Ń Đ°Đ˛Ń‚ĐľĐĽĐ°Ń‚Đ¸Ń‡ĐµŃки.\n" @@ -1190,11 +1216,13 @@ msgstr "" msgid "" "Unmerged files cannot be committed.\n" "\n" -"File %s has merge conflicts. You must resolve them and stage 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 @@ -1333,13 +1361,15 @@ msgstr "Проверка базы объектов при помощи fsck" 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" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" "\n" "Compress the database now?" msgstr "" "Этот репозиторий ŃĐµĐąŃ‡Đ°Ń Ńодержит примерно %i Ńвободных объектов\n" "\n" -"Для Đ»ŃчŃей производительноŃти рекомендŃетŃŃŹ Ńжать Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń…, когда еŃть более %i неŃвязанных объектов.\n" +"Для Đ»ŃчŃей производительноŃти рекомендŃетŃŃŹ Ńжать Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń…, когда еŃть " +"более %i неŃвязанных объектов.\n" "\n" "Сжать Đ±Đ°Đ·Ń Đ´Đ°Đ˝Đ˝Ń‹Ń… ŃейчаŃ?" @@ -1355,15 +1385,18 @@ msgid "" "\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" +"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." +"A rescan will be automatically started to find other files which may have " +"the same state." msgstr "" "Đзменений не обнарŃжено.\n" "\n" "в %s отŃŃ‚ŃтвŃŃŽŃ‚ изменения.\n" "\n" -"Дата изменения файла была обновлена Đ´Ń€Ńгой программой, но Ńодержимое файла ĐľŃталоŃŃŚ прежним.\n" +"Дата изменения файла была обновлена Đ´Ń€Ńгой программой, но Ńодержимое файла " +"ĐľŃталоŃŃŚ прежним.\n" "\n" "ĐˇĐµĐąŃ‡Đ°Ń Đ±Ńдет запŃщено перечитывание репозитория, чтобы найти подобные файлы." @@ -1413,32 +1446,57 @@ msgstr "предŃпреждение" msgid "You must correct the above errors before committing." msgstr "Прежде чем Ńохранить, иŃправьте выŃеŃказанные ĐľŃибки." -#: lib/index.tcl:241 +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "Не ŃдалоŃŃŚ разблокировать индекŃ" + +#: lib/index.tcl:15 +msgid "Index Error" +msgstr "ĐžŃибка индекŃа" + +#: lib/index.tcl:21 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "" +"Не ŃдалоŃŃŚ обновить Đ¸Đ˝Đ´ĐµĐşŃ Git. СоŃтояние репозитория бŃдет" +"перечитано автоматичеŃки." + +#: lib/index.tcl:27 +msgid "Continue" +msgstr "Продолжить" + +#: lib/index.tcl:31 +msgid "Unlock Index" +msgstr "Разблокировать индекŃ" + +#: lib/index.tcl:282 #, tcl-format msgid "Unstaging %s from commit" msgstr "Удаление %s из подготовленного" -#: lib/index.tcl:285 +#: lib/index.tcl:326 #, tcl-format msgid "Adding %s" msgstr "Добавление %s..." -#: lib/index.tcl:340 +#: lib/index.tcl:381 #, tcl-format msgid "Revert changes in file %s?" msgstr "Отменить изменения в файле %s?" -#: lib/index.tcl:342 +#: lib/index.tcl:383 #, tcl-format msgid "Revert changes in these %i files?" msgstr "Отменить изменения в %i файле(-ах)?" -#: lib/index.tcl:348 +#: lib/index.tcl:389 msgid "Any unstaged changes will be permanently lost by the revert." msgstr "" -"Любые изменения, не подготовленные Đş Ńохранению, бŃĐ´ŃŃ‚ потеряны при данной операции." +"Любые изменения, не подготовленные Đş Ńохранению, бŃĐ´ŃŃ‚ потеряны при данной " +"операции." -#: lib/index.tcl:351 +#: lib/index.tcl:392 msgid "Do Nothing" msgstr "Ничего не делать" @@ -1450,19 +1508,22 @@ msgid "" msgstr "" "Невозможно выполнить объединение во время иŃправления.\n" "\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" +"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" +"С момента поŃледней проверки репозиторий был изменен Đ´Ń€Ńгой программой Git. " +"Необходимо перечитать репозиторий, прежде чем изменять текŃщŃŃŽ ветвь.\n" "\n" "Это бŃдет Ńделано ŃĐµĐąŃ‡Đ°Ń Đ°Đ˛Ń‚ĐľĐĽĐ°Ń‚Đ¸Ń‡ĐµŃки.\n" @@ -1473,12 +1534,15 @@ msgid "" "\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" +"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" +"РазреŃите конфликт, подготовьте файл и Ńохраните. Только поŃле этого можно " +"начать ŃледŃющее объединение.\n" #: lib/merge.tcl:54 #, tcl-format @@ -1487,13 +1551,15 @@ msgid "" "\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" +"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" +"Файл %s изменен.\n" "\n" -"Подготовьте и Ńохраните измения перед началом объединения. Đ’ ŃĐ»Ńчае необходимоŃти это позволит прервать операцию объединения.\n" +"Подготовьте и Ńохраните измения перед началом объединения. Đ’ ŃĐ»Ńчае " +"необходимоŃти это позволит прервать операцию объединения.\n" #: lib/merge.tcl:106 #, tcl-format @@ -1631,7 +1697,7 @@ msgstr "Шаблон для имени новой ветви" #: lib/option.tcl:176 msgid "Change Font" -msgstr "Шрифт интерфейŃа" +msgstr "Đзменить Ńрифт" #: lib/option.tcl:180 #, tcl-format @@ -1640,7 +1706,6 @@ msgstr "Выберите %s" # carbon copy #: lib/option.tcl:186 -#, fuzzy msgid "pt." msgstr "" @@ -1652,18 +1717,6 @@ msgstr "НаŃтройки" 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 "Удалить внеŃнюю ветвь" @@ -1707,16 +1760,17 @@ msgid "" "\n" " - %s" msgstr "" -"СледŃющие ветви объединены Ń %s не полноŃтью:" -"\n" +"СледŃющие ветви объединены Ń %s не полноŃтью:\n" " - %s" #: lib/remote_branch_delete.tcl:189 #, tcl-format -msgid "One or more of the merge tests failed because you have not fetched the necessary commits. Try fetching from %s first." +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." msgstr "" -"Один или неŃколько теŃтов на объединение не проŃли, ĐżĐľŃ‚ĐľĐĽŃ Ń‡Ń‚Đľ " -"Đ’Ń‹ не полŃчили необходимые ŃĐľŃтояния. ПопробŃйте Ńначала полŃчить их из %s." +"Один или неŃколько теŃтов на объединение не проŃли, ĐżĐľŃ‚ĐľĐĽŃ Ń‡Ń‚Đľ Đ’Ń‹ не " +"полŃчили необходимые ŃĐľŃтояния. ПопытайтеŃŃŚ полŃчить их из %s." #: lib/remote_branch_delete.tcl:207 msgid "Please select one or more branches to delete." @@ -1746,11 +1800,23 @@ msgstr "Не Ńказан репозиторий." msgid "Scanning %s..." msgstr "Перечитывание %s... " -#: lib/shortcut.tcl:26 lib/shortcut.tcl:74 -msgid "Cannot write script:" -msgstr "Невозможно запиŃать Ńкрипт:" +#: lib/remote.tcl:165 +msgid "Prune from" +msgstr "ЧиŃтка" -#: lib/shortcut.tcl:149 +#: lib/remote.tcl:170 +msgid "Fetch from" +msgstr "ПолŃчение из" + +#: lib/remote.tcl:213 +msgid "Push to" +msgstr "Отправить" + +#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 +msgid "Cannot write shortcut:" +msgstr "Невозможно запиŃать ŃŃылкŃ:" + +#: lib/shortcut.tcl:136 msgid "Cannot write icon:" msgstr "Невозможно запиŃать значок:" @@ -1821,5 +1887,7 @@ msgstr "ĐŃпользовать thin pack (для медленных Ńетев #: lib/transport.tcl:168 msgid "Include tags" -msgstr "Включить метки" +msgstr "Передать таги" +#~ msgid "Next >" +#~ msgstr "ДальŃе >" From 76d536b8af3a2cdf6fb86b2f05051a31b7096cbb 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, 31 Oct 2007 23:12:12 +0900 Subject: [PATCH 092/187] git-gui: Update Japanese strings MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This updates the Japanese translation file. Signed-off-by: ă—らă„ă—ăŞăŞă“ Signed-off-by: Shawn O. Pearce --- po/ja.po | 277 ++++++++++++++++++++++++++----------------------------- 1 file changed, 133 insertions(+), 144 deletions(-) diff --git a/po/ja.po b/po/ja.po index f65e460686..e4491f704c 100644 --- a/po/ja.po +++ b/po/ja.po @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: git-gui\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2007-10-10 04:04-0400\n" -"PO-Revision-Date: 2007-08-14 18:49+0900\n" +"PO-Revision-Date: 2007-10-31 16:23+0900\n" "Last-Translator: ă—らă„ă— ăŞăŞă“ \n" "Language-Team: Japanese\n" "MIME-Version: 1.0\n" @@ -19,12 +19,12 @@ msgstr "" #: 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 "" +msgstr "git-gui: 致命的ăŞă‚¨ă©ăĽ" #: git-gui.sh:595 -#, fuzzy, tcl-format +#, tcl-format msgid "Invalid font specified in %s:" -msgstr "gui.%s ă«ç„ˇĺŠąăŞă•ă‚©ăłăăŚćŚ‡ĺ®šă•れă¦ă„ăľă™:" +msgstr "%s ă«ç„ˇĺŠąăŞă•ă‚©ăłăăŚćŚ‡ĺ®šă•れă¦ă„ăľă™:" #: git-gui.sh:620 msgid "Main Font" @@ -66,9 +66,8 @@ msgid "Git directory not found:" msgstr "Git ă‡ă‚Łă¬ă‚ŻăăŞăŚč¦‹ă¤ă‹ă‚Šăľă›ă‚“:" #: git-gui.sh:860 -#, fuzzy msgid "Cannot move to top of working directory:" -msgstr "変㪠.git ă‡ă‚Łă¬ă‚ŻăăŞăŻä˝żăăľă›ă‚“" +msgstr "作業ă‡ă‚Łă¬ă‚ŻăăŞă®ćś€ä¸Šä˝Ťă«ç§»ĺ‹•ă§ăŤăľă›ă‚“" #: git-gui.sh:867 msgid "Cannot use funny .git directory:" @@ -158,7 +157,6 @@ msgid "Branch" msgstr "ă–ă©ăłă" #: git-gui.sh:1794 lib/choose_rev.tcl:547 -#, fuzzy msgid "Commit@@noun" msgstr "コăźăă" @@ -167,9 +165,8 @@ msgid "Merge" msgstr "ăžăĽă‚¸" #: git-gui.sh:1798 lib/choose_rev.tcl:556 -#, fuzzy msgid "Remote" -msgstr "ăŞă˘ăĽă:" +msgstr "ăŞă˘ăĽă" #: git-gui.sh:1807 msgid "Browse Current Branch's Files" @@ -301,7 +298,6 @@ msgid "Sign Off" msgstr "署ĺŤ" #: git-gui.sh:1980 git-gui.sh:2296 -#, fuzzy msgid "Commit@@verb" msgstr "コăźăă" @@ -329,7 +325,7 @@ msgstr "%s ă«ă¤ă„ă¦" #: git-gui.sh:2026 msgid "Preferences..." -msgstr "" +msgstr "設定…" #: git-gui.sh:2034 git-gui.sh:2558 msgid "Options..." @@ -346,21 +342,19 @@ msgstr "オăłă©ă‚¤ăłă»ă‰ă‚­ăĄăˇăłă" #: git-gui.sh:2165 #, tcl-format msgid "fatal: cannot stat path %s: No such file or directory" -msgstr "" +msgstr "致命的: ă‘ス %s ㌠stat ă§ăŤăľă›ă‚“。ăťă®ă‚ă†ăŞă•ァイă«ă‚„ă‡ă‚Łă¬ă‚ŻăăŞăŻă‚りăľă›ă‚“" #: git-gui.sh:2198 msgid "Current Branch:" msgstr "現在ă®ă–ă©ăłă" #: git-gui.sh:2219 -#, fuzzy msgid "Staged Changes (Will Commit)" msgstr "スă†ăĽă‚¸ăłă‚°ă•れăźďĽă‚łăźăăäşĺ®šć¸ă®ďĽ‰ĺ¤‰ć›´" #: git-gui.sh:2239 -#, fuzzy msgid "Unstaged Changes" -msgstr "変更をコăźăăäşĺ®šă«ĺ…Ąă‚Śă‚‹" +msgstr "コăźăăäşĺ®šă«ĺ…ĄăŁă¦ă„ăŞă„変更" #: git-gui.sh:2286 msgid "Stage Changed" @@ -448,6 +442,10 @@ msgid "" "by %s:\n" "\n" msgstr "" +"ç’°ĺ˘ă«ĺ•ŹéˇŚăŚă‚る可č˝ć€§ăŚă‚りăľă™\n" +"\n" +"以下ă®ç’°ĺ˘ĺ¤‰ć•°ăŻ %s ăŚčµ·ĺ‹•ă™ă‚‹ Git サă–ă—ă­ă‚»ă‚ąă«ă‚ăŁă¦ç„ˇč¦–ă•れるă§ă—ょă†:\n" +"\n" #: git-gui.sh:2707 msgid "" @@ -455,6 +453,9 @@ msgid "" "This is due to a known issue with the\n" "Tcl binary distributed by Cygwin." msgstr "" +"\n" +"ă“れ㯠Cygwin ă§é…Ťĺ¸ă•れă¦ă„ă‚‹ Tcl ăイăŠăŞă«\n" +"é–˘ă—ă¦ă®ć—˘çźĄă®ĺ•ŹéˇŚă«ă‚りăľă™" #: git-gui.sh:2712 #, tcl-format @@ -466,6 +467,10 @@ msgid "" "user.email settings into your personal\n" "~/.gitconfig file.\n" msgstr "" +"\n" +"\n" +"個人的㪠~/.gitconfig ă•ァイă«ĺ†…ă§ user.name 㨠user.email ă®ĺ€¤ă‚’設定\n" +"ă™ă‚‹ă®ăŚă€%s ă®č‰Żă„代用ă¨ăŞă‚Šăľă™\n" #: lib/about.tcl:25 msgid "git-gui - a graphical user interface for Git." @@ -490,50 +495,47 @@ msgstr "%s を読んă§ă„ăľă™â€¦" #: lib/blame.tcl:473 msgid "Loading copy/move tracking annotations..." -msgstr "" +msgstr "コă”ăĽă»ç§»ĺ‹•追跡ă‡ăĽă‚żă‚’読んă§ă„ăľă™â€¦" #: lib/blame.tcl:493 msgid "lines annotated" -msgstr "" +msgstr "行を注é‡ă—ăľă—ăź" #: lib/blame.tcl:674 msgid "Loading original location annotations..." -msgstr "" +msgstr "ĺ…位置行ă®ćł¨é‡ă‡ăĽă‚żă‚’読んă§ă„ăľă™â€¦" #: lib/blame.tcl:677 msgid "Annotation complete." -msgstr "" +msgstr "注é‡ĺ®Śäş†ă—ăľă—ăź" #: lib/blame.tcl:731 -#, fuzzy msgid "Loading annotation..." -msgstr "%s ă‚’ă­ăĽă‰ä¸­â€¦" +msgstr "注é‡ă‚’読ăżčľĽă‚“ă§ă„ăľă™â€¦" #: lib/blame.tcl:787 msgid "Author:" -msgstr "" +msgstr "作者:" #: lib/blame.tcl:791 -#, fuzzy msgid "Committer:" -msgstr "コăźăă:" +msgstr "コăźăă者:" #: lib/blame.tcl:796 msgid "Original File:" -msgstr "" +msgstr "ĺ…ă•ァイă«" #: lib/blame.tcl:910 msgid "Originally By:" -msgstr "" +msgstr "原作者:" #: lib/blame.tcl:916 -#, fuzzy msgid "In File:" msgstr "ă•ァイă«:" #: lib/blame.tcl:921 msgid "Copied Or Moved Here By:" -msgstr "" +msgstr "複写ă»ç§»ĺ‹•者:" #: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 msgid "Checkout Branch" @@ -741,7 +743,7 @@ msgstr "%s ă‹ă‚‰ %s ă‚’ă•ă‚§ăăă—ă¦ă„ăľă™" #: lib/checkout_op.tcl:127 #, tcl-format msgid "fatal: Cannot resolve %s" -msgstr "" +msgstr "致命的エă©ăĽ: %s を解決ă§ăŤăľă›ă‚“" #: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 msgid "Close" @@ -796,9 +798,9 @@ msgstr "" "自動的ă«ĺ†Ťă‚ąă‚­ăŁăłă‚’é–‹ĺ§‹ă—ăľă™ă€‚\n" #: lib/checkout_op.tcl:322 -#, fuzzy, tcl-format +#, tcl-format msgid "Updating working directory to '%s'..." -msgstr "作業ă‡ă‚Łă¬ă‚ŻăăŞăŚă‚りăľă›ă‚“" +msgstr "作業ă‡ă‚Łă¬ă‚ŻăăŞă‚’ '%s' ă«ć›´ć–°ă—ă¦ă„ăľă™â€¦" #: lib/checkout_op.tcl:353 #, tcl-format @@ -827,9 +829,9 @@ msgstr "" "ăă‚’é–‹ĺ§‹ă—ă¦ăŹă ă•ă„。" #: lib/checkout_op.tcl:446 -#, fuzzy, tcl-format +#, tcl-format msgid "Checked out '%s'." -msgstr "ăă‚§ăクアウă" +msgstr "'%s' ă‚’ăă‚§ăクアウăă—ăľă—ăź" #: lib/checkout_op.tcl:478 #, tcl-format @@ -866,244 +868,235 @@ msgstr "" "čµ·ă“ă‚‹ăŻăšă®ăŞă„エă©ăĽă§ă™ă€‚ă‚ăŤă‚‰ă‚㦠%s を終了ă—ăľă™ă€‚" #: lib/choose_font.tcl:39 -#, fuzzy msgid "Select" -msgstr "ĺ…¨ă¦é¸ćŠž" +msgstr "é¸ćŠž" #: lib/choose_font.tcl:53 msgid "Font Family" -msgstr "" +msgstr "ă•ă‚©ăłăă»ă•ァăźăŞăĽ" #: lib/choose_font.tcl:73 -#, fuzzy msgid "Font Size" -msgstr "ă•ă‚©ăłăă‚’ĺ°Źă•ăŹ" +msgstr "ă•ă‚©ăłăă®ĺ¤§ăŤă•" #: lib/choose_font.tcl:90 msgid "Font Example" -msgstr "" +msgstr "ă•ă‚©ăłăă»ă‚µăłă—ă«" #: lib/choose_font.tcl:101 msgid "" "This is example text.\n" "If you like this text, it can be your font." msgstr "" +"ă“れăŻă‚µăłă—ă«ć–‡ă§ă™ă€‚\n" +"ă“ă®ă•ă‚©ăłăăŚć°—ă«ĺ…Ąă‚Śă°ăŠä˝żă„ă«ăŞă‚Śăľă™ă€‚" #: lib/choose_repository.tcl:25 msgid "Git Gui" -msgstr "" +msgstr "Git GUI" #: lib/choose_repository.tcl:69 lib/choose_repository.tcl:204 -#, fuzzy msgid "Create New Repository" -msgstr "ĺ…ă®ăŞăťă‚¸ăăŞ" +msgstr "ć–°ă—ă„ăŞăťă‚¸ăăŞă‚’作る" #: lib/choose_repository.tcl:74 lib/choose_repository.tcl:291 -#, fuzzy msgid "Clone Existing Repository" -msgstr "é€ă‚Šĺ…ăŞăťă‚¸ăăŞ" +msgstr "ć—˘ĺ­ăŞăťă‚¸ăăŞă‚’複製ă™ă‚‹" #: lib/choose_repository.tcl:79 lib/choose_repository.tcl:800 -#, fuzzy msgid "Open Existing Repository" -msgstr "é€ă‚Šĺ…ăŞăťă‚¸ăăŞ" +msgstr "ć—˘ĺ­ăŞăťă‚¸ăăŞă‚’é–‹ăŹ" #: lib/choose_repository.tcl:91 msgid "Next >" -msgstr "" +msgstr "次 >" #: lib/choose_repository.tcl:152 -#, fuzzy, tcl-format +#, tcl-format msgid "Location %s already exists." -msgstr "'%s'ă¨ă„ă†ă–ă©ăłăăŻć—˘ă«ĺ­ĺś¨ă—ăľă™ă€‚" +msgstr "'%s' ăŻć—˘ă«ĺ­ĺś¨ă—ăľă™ă€‚" #: lib/choose_repository.tcl:158 lib/choose_repository.tcl:165 #: lib/choose_repository.tcl:172 -#, fuzzy, tcl-format +#, tcl-format msgid "Failed to create repository %s:" -msgstr "完全ă«ă‚Şă—ă‚·ă§ăłă‚’äżťĺ­ă§ăŤăľă›ă‚“:" +msgstr "ăŞăťă‚¸ă㪠%s を作製ă§ăŤăľă›ă‚“:" #: lib/choose_repository.tcl:209 lib/choose_repository.tcl:309 msgid "Directory:" -msgstr "" +msgstr "ă‡ă‚Łă¬ă‚ŻăăŞ:" #: lib/choose_repository.tcl:238 lib/choose_repository.tcl:363 #: lib/choose_repository.tcl:834 -#, fuzzy msgid "Git Repository" -msgstr "ăŞăťă‚¸ăăŞ" +msgstr "GIT ăŞăťă‚¸ăăŞ" #: lib/choose_repository.tcl:253 lib/choose_repository.tcl:260 -#, fuzzy, tcl-format +#, tcl-format msgid "Directory %s already exists." -msgstr "'%s'ă¨ă„ă†ă–ă©ăłăăŻć—˘ă«ĺ­ĺś¨ă—ăľă™ă€‚" +msgstr "ă‡ă‚Łă¬ă‚Żă㪠'%s' ăŻć—˘ă«ĺ­ĺś¨ă—ăľă™ă€‚" #: lib/choose_repository.tcl:265 -#, fuzzy, tcl-format +#, tcl-format msgid "File %s already exists." -msgstr "'%s'ă¨ă„ă†ă–ă©ăłăăŻć—˘ă«ĺ­ĺś¨ă—ăľă™ă€‚" +msgstr "ă•ァイ㫠'%s' ăŻć—˘ă«ĺ­ĺś¨ă—ăľă™ă€‚" #: lib/choose_repository.tcl:286 -#, fuzzy msgid "Clone" -msgstr "é–‰ăă‚‹" +msgstr "複製" #: lib/choose_repository.tcl:299 msgid "URL:" -msgstr "" +msgstr "URL:" #: lib/choose_repository.tcl:319 msgid "Clone Type:" -msgstr "" +msgstr "複製方式:" #: lib/choose_repository.tcl:325 msgid "Standard (Fast, Semi-Redundant, Hardlinks)" -msgstr "" +msgstr "標準(é«é€źă»ä¸­ĺ†—長度ă»ăŹăĽă‰ăŞăłă‚Ż)" #: lib/choose_repository.tcl:331 msgid "Full Copy (Slower, Redundant Backup)" -msgstr "" +msgstr "全複写(低速ă»ĺ†—é•·ăăクアăă—)" #: lib/choose_repository.tcl:337 msgid "Shared (Fastest, Not Recommended, No Backup)" -msgstr "" +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 +#, tcl-format msgid "Not a Git repository: %s" -msgstr "ăŞăťă‚¸ăăŞăŚé¸ćŠžă•れă¦ă„ăľă›ă‚“。" +msgstr "Git ăŞăťă‚¸ăăŞă§ăŻă‚りăľă›ă‚“: %s" #: lib/choose_repository.tcl:405 msgid "Standard only available for local repository." -msgstr "" +msgstr "標準方式ăŻĺŚä¸€č¨ç®—機上ă®ăŞăťă‚¸ăăŞă«ă®ăżä˝żăăľă™ă€‚" #: lib/choose_repository.tcl:409 msgid "Shared only available for local repository." -msgstr "" +msgstr "共有方式ăŻĺŚä¸€č¨ç®—機上ă®ăŞăťă‚¸ăăŞă«ă®ăżä˝żăăľă™ă€‚" #: lib/choose_repository.tcl:439 msgid "Failed to configure origin" -msgstr "" +msgstr "origin を設定ă§ăŤăľă›ă‚“ă§ă—ăź" #: lib/choose_repository.tcl:451 msgid "Counting objects" -msgstr "" +msgstr "オă–ジェクăă‚’ć•°ăă¦ă„ăľă™" #: lib/choose_repository.tcl:452 msgid "buckets" -msgstr "" +msgstr "ăケă„" #: lib/choose_repository.tcl:476 #, tcl-format msgid "Unable to copy objects/info/alternates: %s" -msgstr "" +msgstr "objects/info/alternates を複写ă§ăŤăľă›ă‚“: %s" #: lib/choose_repository.tcl:512 -#, fuzzy, tcl-format +#, tcl-format msgid "Nothing to clone from %s." -msgstr "%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 "" +msgstr "'master' ă–ă©ăłăăŚĺťćśźĺŚ–ă•れă¦ă„ăľă›ă‚“" #: lib/choose_repository.tcl:527 msgid "Hardlinks are unavailable. Falling back to copying." -msgstr "" +msgstr "ăŹăĽă‰ăŞăłă‚ŻăŚä˝śă‚ŚăŞă„ă®ă§ă€ă‚łă”ăĽă—ăľă™" #: lib/choose_repository.tcl:539 -#, fuzzy, tcl-format +#, tcl-format msgid "Cloning from %s" -msgstr "%s ă‹ă‚‰ %s ă‚’ă•ă‚§ăăă—ă¦ă„ăľă™" +msgstr "%s ă‹ă‚‰č¤‡čŁ˝ă—ă¦ă„ăľă™" #: lib/choose_repository.tcl:570 -#, fuzzy msgid "Copying objects" -msgstr "ă‡ăĽă‚żă™ăĽă‚ąĺś§ç¸®" +msgstr "オă–ジェクăを複写ă—ă¦ă„ăľă™" #: lib/choose_repository.tcl:571 msgid "KiB" -msgstr "" +msgstr "KiB" #: lib/choose_repository.tcl:595 #, tcl-format msgid "Unable to copy object: %s" -msgstr "" +msgstr "オă–ジェクăを複写ă§ăŤăľă›ă‚“: %s" #: lib/choose_repository.tcl:605 msgid "Linking objects" -msgstr "" +msgstr "オă–ジェクăを連çµă—ă¦ă„ăľă™" #: lib/choose_repository.tcl:606 msgid "objects" -msgstr "" +msgstr "オă–ジェクă" #: lib/choose_repository.tcl:614 #, tcl-format msgid "Unable to hardlink object: %s" -msgstr "" +msgstr "オă–ジェクăă‚’ăŹăĽă‰ăŞăłă‚Żă§ăŤăľă›ă‚“: %s" #: lib/choose_repository.tcl:669 msgid "Cannot fetch branches and objects. See console output for details." -msgstr "" +msgstr "ă–ă©ăłăやオă–ジェクăを取得ă§ăŤăľă›ă‚“。コăłă‚˝ăĽă«ĺ‡şĺŠ›ă‚’č¦‹ă¦ä¸‹ă•ă„" #: lib/choose_repository.tcl:680 msgid "Cannot fetch tags. See console output for details." -msgstr "" +msgstr "タグを取得ă§ăŤăľă›ă‚“。コăłă‚˝ăĽă«ĺ‡şĺŠ›ă‚’č¦‹ă¦ä¸‹ă•ă„" #: lib/choose_repository.tcl:704 msgid "Cannot determine HEAD. See console output for details." -msgstr "" +msgstr "HEAD を確定ă§ăŤăľă›ă‚“。コăłă‚˝ăĽă«ĺ‡şĺŠ›ă‚’č¦‹ă¦ä¸‹ă•ă„" #: lib/choose_repository.tcl:713 #, tcl-format msgid "Unable to cleanup %s" -msgstr "" +msgstr "%s ă‚’ćŽé™¤ă§ăŤăľă›ă‚“" #: lib/choose_repository.tcl:719 -#, fuzzy msgid "Clone failed." -msgstr "中断ă«ĺ¤±ć•—ă—ăľă—ăźă€‚" +msgstr "複写ă«ĺ¤±ć•—ă—ăľă—ăźă€‚" #: lib/choose_repository.tcl:726 msgid "No default branch obtained." -msgstr "" +msgstr "ă‡ă•ă‚©ăĽă«ăă»ă–ă©ăłăăŚĺŹ–ĺľ—ă•れăľă›ă‚“ă§ă—ăź" #: lib/choose_repository.tcl:737 #, tcl-format msgid "Cannot resolve %s as a commit." -msgstr "" +msgstr "%s をコăźăăă¨ă—ă¦č§Łé‡ă§ăŤăľă›ă‚“" #: lib/choose_repository.tcl:749 -#, fuzzy msgid "Creating working directory" -msgstr "作業ă‡ă‚Łă¬ă‚ŻăăŞăŚă‚りăľă›ă‚“" +msgstr "作業ă‡ă‚Łă¬ă‚ŻăăŞă‚’作ćă—ă¦ă„ăľă™" #: lib/choose_repository.tcl:750 lib/index.tcl:15 lib/index.tcl:80 #: lib/index.tcl:149 msgid "files" -msgstr "" +msgstr "ă•ァイă«" #: lib/choose_repository.tcl:779 msgid "Initial file checkout failed." -msgstr "" +msgstr "ĺťćśźăă‚§ăクアウăă«ĺ¤±ć•—ă—ăľă—ăź" #: lib/choose_repository.tcl:795 msgid "Open" -msgstr "" +msgstr "é–‹ăŹ" #: lib/choose_repository.tcl:805 -#, fuzzy msgid "Repository:" -msgstr "ăŞăťă‚¸ăăŞ" +msgstr "ăŞăťă‚¸ăăŞ:" #: lib/choose_repository.tcl:854 -#, fuzzy, tcl-format +#, tcl-format msgid "Failed to open repository %s:" -msgstr "完全ă«ă‚Şă—ă‚·ă§ăłă‚’äżťĺ­ă§ăŤăľă›ă‚“:" +msgstr "ăŞăťă‚¸ă㪠%s ă‚’é–‹ă‘ăľă›ă‚“:" #: lib/choose_rev.tcl:53 msgid "This Detached Checkout" @@ -1140,11 +1133,11 @@ msgstr "ăŞă“ジă§ăłĺĽŹăŚç©şă§ă™ă€‚" #: lib/choose_rev.tcl:530 msgid "Updated" -msgstr "" +msgstr "ć›´ć–°ă—ăľă—ăź" #: lib/choose_rev.tcl:558 msgid "URL" -msgstr "" +msgstr "URL" #: lib/commit.tcl:9 msgid "" @@ -1258,7 +1251,7 @@ msgstr "write-tree ăŚĺ¤±ć•—ă—ăľă—ăź:" #: lib/commit.tcl:275 #, tcl-format msgid "Commit %s appears to be corrupt" -msgstr "" +msgstr "コăźăă %s ăŻĺŁŠă‚Śă¦ă„ăľă™" #: lib/commit.tcl:279 msgid "" @@ -1281,7 +1274,7 @@ msgstr "コăźăăă™ă‚‹ĺ¤‰ć›´ăŚă‚りăľă›ă‚“。" #: lib/commit.tcl:303 #, tcl-format msgid "warning: Tcl does not support encoding '%s'." -msgstr "" +msgstr "警告: Tcl ăŻă‚¨ăłă‚łăĽă‡ă‚Łăłă‚° '%s' をサăťăĽăă—ă¦ă„ăľă›ă‚“" #: lib/commit.tcl:317 msgid "commit-tree failed:" @@ -1354,11 +1347,16 @@ msgid "" "\n" "Compress the database now?" msgstr "" +"ă“ă®ăŞăťă‚¸ăăŞă«ăŻăŠăŠă‚ăť %i 個ă®ĺ€‹ĺĄă‚Şă–ジェクăăŚă‚りăľă™\n" +"\n" +"最é©ăŞć€§č˝ă‚’äżťă¤ăźă‚ă«ă€%i 個以上ă®ĺ€‹ĺĄă‚Şă–ジェクăを作る毎ă«ă‡ăĽă‚żă™ăĽă‚ąă‚’圧縮ă™ă‚‹ă“ă¨ă‚’推奨ă—ăľă™\n" +"\n" +"ă‡ăĽă‚żă™ăĽă‚ąă‚’圧縮ă—ăľă™ă‹ďĽź" #: lib/date.tcl:25 -#, fuzzy, tcl-format +#, tcl-format msgid "Invalid date from Git: %s" -msgstr "無効ăŞăŞă“ジă§ăł: %s" +msgstr "Git ă‹ă‚‰ĺ‡şăźç„ˇĺŠąăŞć—Ąä»: %s" #: lib/diff.tcl:42 #, tcl-format @@ -1383,14 +1381,14 @@ msgstr "" "ĺŚć§ăŞçжㅋă®ă•ァイă«ă‚’探ă™ăźă‚ă«ă€č‡Şĺ‹•çš„ă«ĺ†Ťă‚ąă‚­ăŁăłă‚’é–‹ĺ§‹ă—ăľă™ă€‚" #: lib/diff.tcl:81 -#, fuzzy, tcl-format +#, tcl-format msgid "Loading diff of %s..." -msgstr "%s ă‚’ă­ăĽă‰ä¸­â€¦" +msgstr "%s ă®ĺ¤‰ć›´ç‚ąă‚’ă­ăĽă‰ä¸­â€¦" #: lib/diff.tcl:114 lib/diff.tcl:184 #, tcl-format msgid "Unable to display %s" -msgstr "" +msgstr "%s を表示ă§ăŤăľă›ă‚“" #: lib/diff.tcl:115 msgid "Error loading file:" @@ -1398,11 +1396,11 @@ msgstr "ă•ァイă«ă‚’読む際ă®ă‚¨ă©ăĽă§ă™:" #: lib/diff.tcl:122 msgid "Git Repository (subproject)" -msgstr "" +msgstr "Git ăŞăťă‚¸ăăŞ(サă–ă—ă­ă‚¸ă‚§ă‚Żă)" #: lib/diff.tcl:134 msgid "* Binary file (not showing content)." -msgstr "" +msgstr "* ăイăŠăŞă•ァイă«(内容ăŻčˇ¨ç¤şă—ăľă›ă‚“)" #: lib/diff.tcl:185 msgid "Error loading diff:" @@ -1429,14 +1427,14 @@ msgid "You must correct the above errors before committing." msgstr "コăźăăă™ă‚‹ĺ‰Ťă«ă€ä»Ąä¸Šă®ă‚¨ă©ăĽă‚’修正ă—ă¦ä¸‹ă•ă„" #: lib/index.tcl:241 -#, fuzzy, tcl-format +#, tcl-format msgid "Unstaging %s from commit" -msgstr "コăźăăă‹ă‚‰é™Ťă‚Ťă™" +msgstr "コăźăăă‹ă‚‰ '%s' を降ろă™" #: lib/index.tcl:285 -#, fuzzy, tcl-format +#, tcl-format msgid "Adding %s" -msgstr "%s を読んă§ă„ăľă™â€¦" +msgstr "コăźăăă« %s を加ăă¦ă„ăľă™" #: lib/index.tcl:340 #, tcl-format @@ -1651,41 +1649,37 @@ msgid "New Branch Name Template" msgstr "ć–°ă—ă„ă–ă©ăłăĺŤă®ă†ăłă—ă¬ăĽă" #: lib/option.tcl:176 -#, fuzzy msgid "Change Font" -msgstr "主ă•ă‚©ăłă" +msgstr "ă•ă‚©ăłăを変更" #: lib/option.tcl:180 #, tcl-format msgid "Choose %s" -msgstr "" +msgstr "%s ă‚’é¸ćŠž" #: lib/option.tcl:186 msgid "pt." -msgstr "" +msgstr "ăťă‚¤ăłă" #: lib/option.tcl:200 msgid "Preferences" -msgstr "" +msgstr "設定" #: lib/option.tcl:235 msgid "Failed to completely save options:" msgstr "完全ă«ă‚Şă—ă‚·ă§ăłă‚’äżťĺ­ă§ăŤăľă›ă‚“:" #: lib/remote.tcl:165 -#, fuzzy msgid "Prune from" -msgstr "%s ă‹ă‚‰ĺる…" +msgstr "ă‹ă‚‰ĺ込む…" #: lib/remote.tcl:170 -#, fuzzy msgid "Fetch from" -msgstr "%s ă‹ă‚‰ă•ă‚§ăă…" +msgstr "取得ĺ…" #: lib/remote.tcl:213 -#, fuzzy msgid "Push to" -msgstr "ă—ăă‚·ăĄ" +msgstr "ă—ăă‚·ăĄĺ…" #: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 msgid "Delete Remote Branch" @@ -1724,12 +1718,15 @@ msgid "A branch is required for 'Merged Into'." msgstr "'ăžăĽă‚¸ĺ…' ă«ăŻă–ă©ăłăăŚĺż…č¦ă§ă™ă€‚" #: lib/remote_branch_delete.tcl:184 -#, fuzzy, tcl-format +#, tcl-format msgid "" "The following branches are not completely merged into %s:\n" "\n" " - %s" -msgstr "以下ă®ă–ă©ăłă㯠%s ă«ĺ®Śĺ…¨ă«ăžăĽă‚¸ă•れă¦ă„ăľă›ă‚“:" +msgstr "" +"以下ă®ă–ă©ăłă㯠%s ă«ĺ®Śĺ…¨ă«ăžăĽă‚¸ă•れă¦ă„ăľă›ă‚“:\n" +"\n" +" - %s" #: lib/remote_branch_delete.tcl:189 #, tcl-format @@ -1782,9 +1779,9 @@ 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 +#, tcl-format msgid "fetch %s" -msgstr "ă•ă‚§ăă" +msgstr "%s を取得" #: lib/transport.tcl:7 #, tcl-format @@ -1794,7 +1791,7 @@ msgstr "%s ă‹ă‚‰ć–°ă—ă„変更をă•ă‚§ăăă—ă¦ă„ăľă™" #: lib/transport.tcl:18 #, tcl-format msgid "remote prune %s" -msgstr "" +msgstr "é éš”ĺ込 %s" #: lib/transport.tcl:19 #, tcl-format @@ -1804,7 +1801,7 @@ msgstr "%s ă‹ă‚‰ĺ‰Šé™¤ă•れăźăă©ăă‚­ăłă‚°ă»ă–ă©ăłăă‚’ĺăŁă¦ă„ #: lib/transport.tcl:25 lib/transport.tcl:71 #, tcl-format msgid "push %s" -msgstr "" +msgstr "%s ă‚’ă—ăă‚·ăĄ" #: lib/transport.tcl:26 #, tcl-format @@ -1834,7 +1831,7 @@ msgstr "通信オă—ă‚·ă§ăł" #: lib/transport.tcl:160 msgid "Force overwrite existing branch (may discard changes)" -msgstr "" +msgstr "ć—˘ĺ­ă–ă©ăłăを上書ăŤ(変更を破棄ă™ă‚‹ĺŹŻč˝ć€§ăŚă‚りăľă™)" #: lib/transport.tcl:164 msgid "Use thin pack (for slow network connections)" @@ -1844,11 +1841,3 @@ msgstr "Thin Pack を使ă†ďĽé…ă„ăŤăăăŻăĽă‚ŻćŽĄç¶šďĽ‰" 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 ă¸ă—ăă‚·ăĄâ€¦" From 6ea10797deb7699c35a2b097938bf02aabc29e45 Mon Sep 17 00:00:00 2001 From: Junio C Hamano Date: Wed, 31 Oct 2007 21:14:01 -0700 Subject: [PATCH 093/187] git-gui: Update Japanese strings (part 2) Resolve an earlier suggestion from Christian. Signed-off-by: Shawn O. Pearce --- po/ja.po | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/po/ja.po b/po/ja.po index e4491f704c..f3a547b1b9 100644 --- a/po/ja.po +++ b/po/ja.po @@ -1776,7 +1776,7 @@ msgstr "アイコăłăŚć›¸ă‘ăľă›ă‚“:" #: 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%%)" +msgstr "%1$s ... %4$*i %6$s 中㮠%2$*i (%7$3i%%)" #: lib/transport.tcl:6 #, tcl-format From 48b8d2b3792339d4dbd37802db8ec797361dd1fe Mon Sep 17 00:00:00 2001 From: "Shawn O. Pearce" Date: Thu, 1 Nov 2007 00:31:36 -0400 Subject: [PATCH 094/187] git-gui: Allow users to set font weights to bold Previously we allowed users to tweak their font weight to be bold by setting it manually in their ~/.gitconfig prior to starting git-gui. This was broken in ae0754ac9a24afa2693246222fc078fe9c133b3a when Simon set the font weight to normal by default, overridding whatever we found from the ~/.gitconfig file. Signed-off-by: Shawn O. Pearce --- git-gui.sh | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/git-gui.sh b/git-gui.sh index a7227ac1b6..b41e107d94 100755 --- a/git-gui.sh +++ b/git-gui.sh @@ -551,8 +551,15 @@ proc apply_config {} { set name [lindex $option 0] set font [lindex $option 1] if {[catch { + set need_weight 1 foreach {cn cv} $repo_config(gui.$name) { - font configure $font $cn $cv -weight normal + if {$cn eq {-weight}} { + set need_weight 0 + } + font configure $font $cn $cv + } + if {$need_weight} { + font configure $font -weight normal } } err]} { error_popup [strcat [mc "Invalid font specified in %s:" "gui.$name"] "\n\n$err"] From 23c17d4a4a0e1fc9a5fa347f1fc6be3cf477e543 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Fri, 2 Nov 2007 13:32:58 -0700 Subject: [PATCH 095/187] Simplify topo-sort logic .. by not using quite so much indirection. This currently grows the "struct commit" a bit, which could be avoided by using a union for "util" and "indegree" (the topo-sort used to use "util" anyway, so you cannot use them together), but for now the goal of this was to simplify, not optimize. Signed-off-by: Linus Torvalds --- commit.c | 148 ++++++++++++++++++----------------------------------- commit.h | 20 +------- revision.c | 7 +-- revision.h | 4 +- 4 files changed, 54 insertions(+), 125 deletions(-) diff --git a/commit.c b/commit.c index 8262f6ac58..ab4eb8bdd1 100644 --- a/commit.c +++ b/commit.c @@ -9,22 +9,6 @@ int save_commit_buffer = 1; -struct sort_node -{ - /* - * the number of children of the associated commit - * that also occur in the list being sorted. - */ - unsigned int indegree; - - /* - * reference to original list item that we will re-use - * on output. - */ - struct commit_list * list_item; - -}; - const char *commit_type = "commit"; static struct cmt_fmt_map { @@ -1149,69 +1133,38 @@ struct commit *pop_commit(struct commit_list **stack) return item; } -void topo_sort_default_setter(struct commit *c, void *data) -{ - c->util = data; -} - -void *topo_sort_default_getter(struct commit *c) -{ - return c->util; -} - /* * Performs an in-place topological sort on the list supplied. */ void sort_in_topological_order(struct commit_list ** list, int lifo) { - sort_in_topological_order_fn(list, lifo, topo_sort_default_setter, - topo_sort_default_getter); -} + struct commit_list *next, *orig = *list; + struct commit_list *work, **insert; + struct commit_list **pptr; -void sort_in_topological_order_fn(struct commit_list ** list, int lifo, - topo_sort_set_fn_t setter, - topo_sort_get_fn_t getter) -{ - struct commit_list * next = *list; - struct commit_list * work = NULL, **insert; - struct commit_list ** pptr = list; - struct sort_node * nodes; - struct sort_node * next_nodes; - int count = 0; - - /* determine the size of the list */ - while (next) { - next = next->next; - count++; - } - - if (!count) + if (!orig) return; - /* allocate an array to help sort the list */ - nodes = xcalloc(count, sizeof(*nodes)); - /* link the list to the array */ - next_nodes = nodes; - next=*list; - while (next) { - next_nodes->list_item = next; - setter(next->item, next_nodes); - next_nodes++; - next = next->next; + *list = NULL; + + /* Mark them and clear the indegree */ + for (next = orig; next; next = next->next) { + struct commit *commit = next->item; + commit->object.flags |= TOPOSORT; + commit->indegree = 0; } + /* update the indegree */ - next=*list; - while (next) { + for (next = orig; next; next = next->next) { struct commit_list * parents = next->item->parents; while (parents) { - struct commit * parent=parents->item; - struct sort_node * pn = (struct sort_node *) getter(parent); + struct commit *parent = parents->item; - if (pn) - pn->indegree++; - parents=parents->next; + if (parent->object.flags & TOPOSORT) + parent->indegree++; + parents = parents->next; } - next=next->next; } + /* * find the tips * @@ -1219,55 +1172,56 @@ void sort_in_topological_order_fn(struct commit_list ** list, int lifo, * * the tips serve as a starting set for the work queue. */ - next=*list; + work = NULL; insert = &work; - while (next) { - struct sort_node * node = (struct sort_node *) getter(next->item); + for (next = orig; next; next = next->next) { + struct commit *commit = next->item; - if (node->indegree == 0) { - insert = &commit_list_insert(next->item, insert)->next; - } - next=next->next; + if (!commit->indegree) + insert = &commit_list_insert(commit, insert)->next; } /* process the list in topological order */ if (!lifo) sort_by_date(&work); + + pptr = list; + *list = NULL; while (work) { - struct commit * work_item = pop_commit(&work); - struct sort_node * work_node = (struct sort_node *) getter(work_item); - struct commit_list * parents = work_item->parents; + struct commit *commit; + struct commit_list *parents, *work_item; - while (parents) { - struct commit * parent=parents->item; - struct sort_node * pn = (struct sort_node *) getter(parent); + work_item = work; + work = work_item->next; + work_item->next = NULL; - if (pn) { - /* - * parents are only enqueued for emission - * when all their children have been emitted thereby - * guaranteeing topological order. - */ - pn->indegree--; - if (!pn->indegree) { - if (!lifo) - insert_by_date(parent, &work); - else - commit_list_insert(parent, &work); - } + commit = work_item->item; + for (parents = commit->parents; parents ; parents = parents->next) { + struct commit *parent=parents->item; + + if (!(parent->object.flags & TOPOSORT)) + continue; + + /* + * parents are only enqueued for emission + * when all their children have been emitted thereby + * guaranteeing topological order. + */ + if (!--parent->indegree) { + if (!lifo) + insert_by_date(parent, &work); + else + commit_list_insert(parent, &work); } - parents=parents->next; } /* * work_item is a commit all of whose children * have already been emitted. we can emit it now. */ - *pptr = work_node->list_item; - pptr = &(*pptr)->next; - *pptr = NULL; - setter(work_item, NULL); + commit->object.flags &= ~TOPOSORT; + *pptr = work_item; + pptr = &work_item->next; } - free(nodes); } /* merge-base stuff */ diff --git a/commit.h b/commit.h index 13b537293d..4ed0c1cf7f 100644 --- a/commit.h +++ b/commit.h @@ -14,6 +14,7 @@ struct commit_list { struct commit { struct object object; void *util; + unsigned int indegree; unsigned long date; struct commit_list *parents; struct tree *tree; @@ -84,31 +85,12 @@ void clear_commit_marks(struct commit *commit, unsigned int mark); /* * Performs an in-place topological sort of list supplied. * - * Pre-conditions for sort_in_topological_order: - * all commits in input list and all parents of those - * commits must have object.util == NULL - * - * Pre-conditions for sort_in_topological_order_fn: - * all commits in input list and all parents of those - * commits must have getter(commit) == NULL - * - * Post-conditions: * invariant of resulting list is: * a reachable from b => ord(b) < ord(a) * in addition, when lifo == 0, commits on parallel tracks are * sorted in the dates order. */ - -typedef void (*topo_sort_set_fn_t)(struct commit*, void *data); -typedef void* (*topo_sort_get_fn_t)(struct commit*); - -void topo_sort_default_setter(struct commit *c, void *data); -void *topo_sort_default_getter(struct commit *c); - void sort_in_topological_order(struct commit_list ** list, int lifo); -void sort_in_topological_order_fn(struct commit_list ** list, int lifo, - topo_sort_set_fn_t setter, - topo_sort_get_fn_t getter); struct commit_graft { unsigned char sha1[20]; diff --git a/revision.c b/revision.c index e76da0d448..e85b4af392 100644 --- a/revision.c +++ b/revision.c @@ -677,9 +677,6 @@ void init_revisions(struct rev_info *revs, const char *prefix) revs->prune_fn = NULL; revs->prune_data = NULL; - revs->topo_setter = topo_sort_default_setter; - revs->topo_getter = topo_sort_default_getter; - revs->commit_format = CMIT_FMT_DEFAULT; diff_setup(&revs->diffopt); @@ -1303,9 +1300,7 @@ int prepare_revision_walk(struct rev_info *revs) if (limit_list(revs) < 0) return -1; if (revs->topo_order) - sort_in_topological_order_fn(&revs->commits, revs->lifo, - revs->topo_setter, - revs->topo_getter); + sort_in_topological_order(&revs->commits, revs->lifo); return 0; } diff --git a/revision.h b/revision.h index 98a0a8f3fa..1f645764a5 100644 --- a/revision.h +++ b/revision.h @@ -10,6 +10,7 @@ #define CHILD_SHOWN (1u<<6) #define ADDED (1u<<7) /* Parents already parsed and added? */ #define SYMMETRIC_LEFT (1u<<8) +#define TOPOSORT (1u<<9) /* In the active toposort list.. */ struct rev_info; struct log_info; @@ -96,9 +97,6 @@ struct rev_info { struct diff_options diffopt; struct diff_options pruning; - topo_sort_set_fn_t topo_setter; - topo_sort_get_fn_t topo_getter; - struct reflog_walk_info *reflog_info; }; From cdcefbc971d8fcdd293750af7571d4c715f86964 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sat, 3 Nov 2007 11:11:10 -0700 Subject: [PATCH 096/187] Add "--early-output" log flag for interactive GUI use This adds support for "--early-output[=n]" as a flag to the "git log" family of commands. This allows GUI programs to state that they want to get some output early, in order to be able to show at least something quickly, even if the full output may take longer to generate. If no count is specified, a default count of a hundred commits will be used, although the actual numbr of commits output may be smaller depending on how many commits were actually found in the first tenth of a second (or if *everything* was found before that, in which case no early output will be provided, and only the final list is made available). When the full list is generated, there will be a "Final output:" string prepended to it, regardless of whether any early commits were shown or not, so that the consumer can always know the difference between early output and the final list. Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- builtin-log.c | 67 +++++++++++++++++++++++++++++++++++++++++++++++++++ revision.c | 22 +++++++++++++++++ revision.h | 4 +++ 3 files changed, 93 insertions(+) diff --git a/builtin-log.c b/builtin-log.c index 8b2bf632c5..4e9d0cb69c 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -77,11 +77,78 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix, } } +static void log_show_early(struct rev_info *revs, struct commit_list *list) +{ + int i = revs->early_output; + + sort_in_topological_order(&list, revs->lifo); + while (list && i) { + struct commit *commit = list->item; + log_tree_commit(revs, commit); + list = list->next; + i--; + } +} + +static void early_output(int signal) +{ + show_early_output = log_show_early; +} + +static void setup_early_output(struct rev_info *rev) +{ + struct sigaction sa; + struct itimerval v; + + /* + * Set up the signal handler, minimally intrusively: + * we only set a single volatile integer word (not + * using sigatomic_t - trying to avoid unnecessary + * system dependencies and headers), and using + * SA_RESTART. + */ + memset(&sa, 0, sizeof(sa)); + sa.sa_handler = early_output; + sigemptyset(&sa.sa_mask); + sa.sa_flags = SA_RESTART; + sigaction(SIGALRM, &sa, NULL); + + /* + * If we can get the whole output in less than a + * tenth of a second, don't even bother doing the + * early-output thing.. + * + * This is a one-time-only trigger. + */ + memset(&v, 0, sizeof(v)); + v.it_value.tv_sec = 0; + v.it_value.tv_usec = 100000; + setitimer(ITIMER_REAL, &v, NULL); +} + +static void finish_early_output(struct rev_info *rev) +{ + signal(SIGALRM, SIG_IGN); + if (rev->shown_one) { + rev->shown_one = 0; + if (rev->commit_format != CMIT_FMT_ONELINE) + putchar(rev->diffopt.line_termination); + } + printf("Final output:\n"); +} + static int cmd_log_walk(struct rev_info *rev) { struct commit *commit; + if (rev->early_output) + setup_early_output(rev); + prepare_revision_walk(rev); + + if (rev->early_output) + finish_early_output(rev); + while ((commit = get_revision(rev)) != NULL) { log_tree_commit(rev, commit); if (!rev->reflog_info) { diff --git a/revision.c b/revision.c index e85b4af392..26610bb42d 100644 --- a/revision.c +++ b/revision.c @@ -10,6 +10,8 @@ #include "reflog-walk.h" #include "patch-ids.h" +volatile show_early_output_fn_t show_early_output; + static char *path_name(struct name_path *path, const char *name) { struct name_path *p; @@ -533,6 +535,7 @@ static int limit_list(struct rev_info *revs) struct commit_list *entry = list; struct commit *commit = list->item; struct object *obj = &commit->object; + show_early_output_fn_t show; list = list->next; free(entry); @@ -550,6 +553,13 @@ static int limit_list(struct rev_info *revs) if (revs->min_age != -1 && (commit->date > revs->min_age)) continue; p = &commit_list_insert(commit, p)->next; + + show = show_early_output; + if (!show) + continue; + + show(revs, newlist); + show_early_output = NULL; } if (revs->cherry_pick) cherry_pick_list(newlist, revs); @@ -991,6 +1001,18 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch revs->topo_order = 1; continue; } + if (!prefixcmp(arg, "--early-output")) { + int count = 100; + switch (arg[14]) { + case '=': + count = atoi(arg+15); + /* Fallthrough */ + case 0: + revs->topo_order = 1; + revs->early_output = count; + continue; + } + } if (!strcmp(arg, "--parents")) { revs->parents = 1; continue; diff --git a/revision.h b/revision.h index 1f645764a5..d8a5a5021f 100644 --- a/revision.h +++ b/revision.h @@ -30,6 +30,8 @@ struct rev_info { void *prune_data; prune_fn_t *prune_fn; + unsigned int early_output; + /* Traversal flags */ unsigned int dense:1, no_merges:1, @@ -105,6 +107,8 @@ struct rev_info { #define REV_TREE_DIFFERENT 2 /* revision.c */ +typedef void (*show_early_output_fn_t)(struct rev_info *, struct commit_list *); +volatile show_early_output_fn_t show_early_output; extern void init_revisions(struct rev_info *revs, const char *prefix); extern int setup_revisions(int argc, const char **argv, struct rev_info *revs, const char *def); From 252a7c02354a3e2825cfde3c5053a04acc07be9c Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Sun, 4 Nov 2007 12:12:05 -0800 Subject: [PATCH 097/187] Enhance --early-output format This makes --early-output a bit more advanced, and actually makes it generate multiple "Final output:" headers as it updates things asynchronously. I realize that the "Final output:" line is now illogical, since it's not really final until it also says "done", but It now _always_ generates a "Final output:" header in front of any commit list, and that output header gives you a *guess* at the maximum number of commits available. However, it should be noted that the guess can be completely off: I do a reasonable job estimating it, but it is not meant to be exact. So what happens is that you may get output like this: - at 0.1 seconds: Final output: 2 incomplete .. 2 commits listed .. - half a second later: Final output: 33 incomplete .. 33 commits listed .. - another half a second after that: Final output: 71 incomplete .. 71 commits listed .. - another half second later: Final output: 136 incomplete .. 100 commits listed: we hit the --early-output limit, and .. will only output 100 commits, and after this you'll not .. see an "incomplete" report any more since you got as much .. early output as you asked for! - .. and then finally: Final output: 73106 done .. all the commits .. The above is a real-life scenario on my current kernel tree after having flushed all the caches. Tested with the experimental gitk patch that Paul sent out, and by looking at the actual log output (and verifying that my commit count guesses actually match real life fairly well). Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- builtin-log.c | 88 +++++++++++++++++++++++++++++++++++++++++++-------- revision.c | 63 ++++++++++++++++++++---------------- revision.h | 8 +++++ 3 files changed, 119 insertions(+), 40 deletions(-) diff --git a/builtin-log.c b/builtin-log.c index 4e9d0cb69c..981f38872c 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -77,17 +77,85 @@ static void cmd_log_init(int argc, const char **argv, const char *prefix, } } +/* + * This gives a rough estimate for how many commits we + * will print out in the list. + */ +static int estimate_commit_count(struct rev_info *rev, struct commit_list *list) +{ + int n = 0; + + while (list) { + struct commit *commit = list->item; + unsigned int flags = commit->object.flags; + + list = list->next; + if (flags & UNINTERESTING) + continue; + if (rev->prune_fn && rev->dense && !(flags & TREECHANGE)) { + if (commit->parents && !commit->parents->next) + continue; + } + n++; + } + return n; +} + +static void show_early_header(struct rev_info *rev, const char *stage, int nr) +{ + if (rev->shown_one) { + rev->shown_one = 0; + if (rev->commit_format != CMIT_FMT_ONELINE) + putchar(rev->diffopt.line_termination); + } + printf("Final output: %d %s\n", nr, stage); +} + +struct itimerval early_output_timer; + static void log_show_early(struct rev_info *revs, struct commit_list *list) { int i = revs->early_output; + int show_header = 1; sort_in_topological_order(&list, revs->lifo); while (list && i) { struct commit *commit = list->item; - log_tree_commit(revs, commit); + switch (simplify_commit(revs, commit)) { + case commit_show: + if (show_header) { + int n = estimate_commit_count(revs, list); + show_early_header(revs, "incomplete", n); + show_header = 0; + } + log_tree_commit(revs, commit); + i--; + break; + case commit_ignore: + break; + case commit_error: + return; + } list = list->next; - i--; } + + /* Did we already get enough commits for the early output? */ + if (!i) + return; + + /* + * ..if no, then repeat it twice a second until we + * do. + * + * NOTE! We don't use "it_interval", because if the + * reader isn't listening, we want our output to be + * throttled by the writing, and not have the timer + * trigger every second even if we're blocked on a + * reader! + */ + early_output_timer.it_value.tv_sec = 0; + early_output_timer.it_value.tv_usec = 500000; + setitimer(ITIMER_REAL, &early_output_timer, NULL); } static void early_output(int signal) @@ -98,7 +166,6 @@ static void early_output(int signal) static void setup_early_output(struct rev_info *rev) { struct sigaction sa; - struct itimerval v; /* * Set up the signal handler, minimally intrusively: @@ -120,21 +187,16 @@ static void setup_early_output(struct rev_info *rev) * * This is a one-time-only trigger. */ - memset(&v, 0, sizeof(v)); - v.it_value.tv_sec = 0; - v.it_value.tv_usec = 100000; - setitimer(ITIMER_REAL, &v, NULL); + early_output_timer.it_value.tv_sec = 0; + early_output_timer.it_value.tv_usec = 100000; + setitimer(ITIMER_REAL, &early_output_timer, NULL); } static void finish_early_output(struct rev_info *rev) { + int n = estimate_commit_count(rev, rev->commits); signal(SIGALRM, SIG_IGN); - if (rev->shown_one) { - rev->shown_one = 0; - if (rev->commit_format != CMIT_FMT_ONELINE) - putchar(rev->diffopt.line_termination); - } - printf("Final output:\n"); + show_early_header(rev, "done", n); } static int cmd_log_walk(struct rev_info *rev) diff --git a/revision.c b/revision.c index 26610bb42d..2e6121fa1b 100644 --- a/revision.c +++ b/revision.c @@ -1398,6 +1398,36 @@ static int commit_match(struct commit *commit, struct rev_info *opt) commit->buffer, strlen(commit->buffer)); } +enum commit_action simplify_commit(struct rev_info *revs, struct commit *commit) +{ + if (commit->object.flags & SHOWN) + return commit_ignore; + if (revs->unpacked && has_sha1_pack(commit->object.sha1, revs->ignore_packed)) + return commit_ignore; + if (commit->object.flags & UNINTERESTING) + return commit_ignore; + if (revs->min_age != -1 && (commit->date > revs->min_age)) + return commit_ignore; + if (revs->no_merges && commit->parents && commit->parents->next) + return commit_ignore; + if (!commit_match(commit, revs)) + return commit_ignore; + if (revs->prune_fn && revs->dense) { + /* Commit without changes? */ + if (!(commit->object.flags & TREECHANGE)) { + /* drop merges unless we want parenthood */ + if (!revs->parents) + return commit_ignore; + /* non-merge - always ignore it */ + if (!commit->parents || !commit->parents->next) + return commit_ignore; + } + if (revs->parents && rewrite_parents(revs, commit) < 0) + return commit_error; + } + return commit_show; +} + static struct commit *get_revision_1(struct rev_info *revs) { if (!revs->commits) @@ -1425,36 +1455,15 @@ static struct commit *get_revision_1(struct rev_info *revs) if (add_parents_to_list(revs, commit, &revs->commits) < 0) return NULL; } - if (commit->object.flags & SHOWN) - continue; - if (revs->unpacked && has_sha1_pack(commit->object.sha1, - revs->ignore_packed)) - continue; - - if (commit->object.flags & UNINTERESTING) + switch (simplify_commit(revs, commit)) { + case commit_ignore: continue; - if (revs->min_age != -1 && (commit->date > revs->min_age)) - continue; - if (revs->no_merges && - commit->parents && commit->parents->next) - continue; - if (!commit_match(commit, revs)) - continue; - if (revs->prune_fn && revs->dense) { - /* Commit without changes? */ - if (!(commit->object.flags & TREECHANGE)) { - /* drop merges unless we want parenthood */ - if (!revs->parents) - continue; - /* non-merge - always ignore it */ - if (!commit->parents || !commit->parents->next) - continue; - } - if (revs->parents && rewrite_parents(revs, commit) < 0) - return NULL; + case commit_error: + return NULL; + default: + return commit; } - return commit; } while (revs->commits); return NULL; } diff --git a/revision.h b/revision.h index d8a5a5021f..2232247be4 100644 --- a/revision.h +++ b/revision.h @@ -133,4 +133,12 @@ extern void add_object(struct object *obj, extern void add_pending_object(struct rev_info *revs, struct object *obj, const char *name); +enum commit_action { + commit_ignore, + commit_show, + commit_error +}; + +extern enum commit_action simplify_commit(struct rev_info *revs, struct commit *commit); + #endif From 53b2c823f6e862e0c83a4a25bab43e8c32e9c289 Mon Sep 17 00:00:00 2001 From: Linus Torvalds Date: Mon, 5 Nov 2007 13:22:34 -0800 Subject: [PATCH 098/187] revision walker: mini clean-up This removes the unnecessary indirection of "revs->prune_fn", since that function is always the same one (or NULL), and there is in fact not even an abstraction reason to make it a function (i.e. its not called from some other file and doesn't allow us to keep the function itself static or anything like that). It then just replaces it with a bit that says "prune or not", and if not pruning, every commit gets TREECHANGE. That in turn means that - if (!revs->prune_fn || (flags & TREECHANGE)) - if (revs->prune_fn && !(flags & TREECHANGE)) just become - if (flags & TREECHANGE) - if (!(flags & TREECHANGE)) respectively. Together with adding the "single_parent()" helper function, the "complex" conditional now becomes if (!(flags & TREECHANGE) && rev->dense && single_parent(commit)) continue; Also indirection of "revs->dense" checking is thrown away the same way, because TREECHANGE bit is set appropriately now. Signed-off-by: Linus Torvalds Signed-off-by: Junio C Hamano --- builtin-log.c | 10 ++-------- builtin-rev-list.c | 14 +++++++------- commit.h | 5 +++++ revision.c | 27 ++++++++++++++++++++------- revision.h | 5 +---- 5 files changed, 35 insertions(+), 26 deletions(-) diff --git a/builtin-log.c b/builtin-log.c index 981f38872c..d6845bc7f8 100644 --- a/builtin-log.c +++ b/builtin-log.c @@ -88,15 +88,9 @@ static int estimate_commit_count(struct rev_info *rev, struct commit_list *list) while (list) { struct commit *commit = list->item; unsigned int flags = commit->object.flags; - list = list->next; - if (flags & UNINTERESTING) - continue; - if (rev->prune_fn && rev->dense && !(flags & TREECHANGE)) { - if (commit->parents && !commit->parents->next) - continue; - } - n++; + if ((flags & TREECHANGE) && !(flags & UNINTERESTING)) + n++; } return n; } diff --git a/builtin-rev-list.c b/builtin-rev-list.c index 697046723f..2dec8873f8 100644 --- a/builtin-rev-list.c +++ b/builtin-rev-list.c @@ -142,7 +142,7 @@ static int count_distance(struct commit_list *entry) if (commit->object.flags & (UNINTERESTING | COUNTED)) break; - if (!revs.prune_fn || (commit->object.flags & TREECHANGE)) + if (commit->object.flags & TREECHANGE) nr++; commit->object.flags |= COUNTED; p = commit->parents; @@ -198,7 +198,7 @@ static inline int halfway(struct commit_list *p, int nr) /* * Don't short-cut something we are not going to return! */ - if (revs.prune_fn && !(p->item->object.flags & TREECHANGE)) + if (!(p->item->object.flags & TREECHANGE)) return 0; if (DEBUG_BISECT) return 0; @@ -268,7 +268,7 @@ static struct commit_list *best_bisection(struct commit_list *list, int nr) int distance; unsigned flags = p->item->object.flags; - if (revs.prune_fn && !(flags & TREECHANGE)) + if (!(flags & TREECHANGE)) continue; distance = weight(p); if (nr - distance < distance) @@ -308,7 +308,7 @@ static struct commit_list *best_bisection_sorted(struct commit_list *list, int n int distance; unsigned flags = p->item->object.flags; - if (revs.prune_fn && !(flags & TREECHANGE)) + if (!(flags & TREECHANGE)) continue; distance = weight(p); if (nr - distance < distance) @@ -362,7 +362,7 @@ static struct commit_list *do_find_bisection(struct commit_list *list, p->item->util = &weights[n++]; switch (count_interesting_parents(commit)) { case 0: - if (!revs.prune_fn || (flags & TREECHANGE)) { + if (flags & TREECHANGE) { weight_set(p, 1); counted++; show_list("bisection 2 count one", @@ -435,7 +435,7 @@ static struct commit_list *do_find_bisection(struct commit_list *list, * add one for p itself if p is to be counted, * otherwise inherit it from q directly. */ - if (!revs.prune_fn || (flags & TREECHANGE)) { + if (flags & TREECHANGE) { weight_set(p, weight(q)+1); counted++; show_list("bisection 2 count one", @@ -482,7 +482,7 @@ static struct commit_list *find_bisection(struct commit_list *list, continue; p->next = last; last = p; - if (!revs.prune_fn || (flags & TREECHANGE)) + if (flags & TREECHANGE) nr++; on_list++; } diff --git a/commit.h b/commit.h index 4ed0c1cf7f..aa679867a9 100644 --- a/commit.h +++ b/commit.h @@ -117,4 +117,9 @@ extern int interactive_add(void); extern void add_files_to_cache(int verbose, const char *prefix, const char **files); extern int rerere(void); +static inline int single_parent(struct commit *commit) +{ + return commit->parents && !commit->parents->next; +} + #endif /* COMMIT_H */ diff --git a/revision.c b/revision.c index 2e6121fa1b..931f978af9 100644 --- a/revision.c +++ b/revision.c @@ -308,6 +308,14 @@ static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit) struct commit_list **pp, *parent; int tree_changed = 0, tree_same = 0; + /* + * If we don't do pruning, everything is interesting + */ + if (!revs->prune) { + commit->object.flags |= TREECHANGE; + return; + } + if (!commit->tree) return; @@ -317,6 +325,15 @@ static void try_to_simplify_commit(struct rev_info *revs, struct commit *commit) return; } + /* + * Normal non-merge commit? If we don't want to make the + * history dense, we consider it always to be a change.. + */ + if (!revs->dense && !commit->parents->next) { + commit->object.flags |= TREECHANGE; + return; + } + pp = &commit->parents; while ((parent = *pp) != NULL) { struct commit *p = parent->item; @@ -415,8 +432,7 @@ static int add_parents_to_list(struct rev_info *revs, struct commit *commit, str * simplify the commit history and find the parent * that has no differences in the path set if one exists. */ - if (revs->prune_fn) - revs->prune_fn(revs, commit); + try_to_simplify_commit(revs, commit); if (revs->no_walk) return 0; @@ -684,9 +700,6 @@ void init_revisions(struct rev_info *revs, const char *prefix) revs->skip_count = -1; revs->max_count = -1; - revs->prune_fn = NULL; - revs->prune_data = NULL; - revs->commit_format = CMIT_FMT_DEFAULT; diff_setup(&revs->diffopt); @@ -1271,7 +1284,7 @@ int setup_revisions(int argc, const char **argv, struct rev_info *revs, const ch diff_tree_setup_paths(revs->prune_data, &revs->pruning); /* Can't prune commits with rename following: the paths change.. */ if (!revs->diffopt.follow_renames) - revs->prune_fn = try_to_simplify_commit; + revs->prune = 1; if (!revs->full_diff) diff_tree_setup_paths(revs->prune_data, &revs->diffopt); } @@ -1412,7 +1425,7 @@ enum commit_action simplify_commit(struct rev_info *revs, struct commit *commit) return commit_ignore; if (!commit_match(commit, revs)) return commit_ignore; - if (revs->prune_fn && revs->dense) { + if (revs->prune && revs->dense) { /* Commit without changes? */ if (!(commit->object.flags & TREECHANGE)) { /* drop merges unless we want parenthood */ diff --git a/revision.h b/revision.h index 2232247be4..a79851449c 100644 --- a/revision.h +++ b/revision.h @@ -15,8 +15,6 @@ struct rev_info; struct log_info; -typedef void (prune_fn_t)(struct rev_info *revs, struct commit *commit); - struct rev_info { /* Starting list */ struct commit_list *commits; @@ -28,12 +26,11 @@ struct rev_info { /* Basic information */ const char *prefix; void *prune_data; - prune_fn_t *prune_fn; - unsigned int early_output; /* Traversal flags */ unsigned int dense:1, + prune:1, no_merges:1, no_walk:1, remove_empty_trees:1, From 21d4783538662143ef52ed6967c948ab27586232 Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Sun, 4 Nov 2007 11:30:53 +0100 Subject: [PATCH 099/187] Add a parseopt mode to git-rev-parse to bring parse-options to shell scripts. Signed-off-by: Pierre Habouzit Signed-off-by: Junio C Hamano --- Documentation/git-rev-parse.txt | 76 ++++++++++++++++++- builtin-rev-parse.c | 126 ++++++++++++++++++++++++++++++++ 2 files changed, 200 insertions(+), 2 deletions(-) diff --git a/Documentation/git-rev-parse.txt b/Documentation/git-rev-parse.txt index 4758c33dee..329fce0aab 100644 --- a/Documentation/git-rev-parse.txt +++ b/Documentation/git-rev-parse.txt @@ -23,6 +23,13 @@ distinguish between them. OPTIONS ------- +--parseopt:: + Use `git-rev-parse` in option parsing mode (see PARSEOPT section below). + +--keep-dash-dash:: + Only meaningful in `--parseopt` mode. Tells the option parser to echo + out the first `--` met instead of skipping it. + --revs-only:: Do not output flags and parameters not meant for `git-rev-list` command. @@ -288,10 +295,75 @@ Here are a handful examples: C^@ I J F F^! D G H D F +PARSEOPT +-------- + +In `--parseopt` mode, `git-rev-parse` helps massaging options to bring to shell +scripts the same facilities C builtins have. It works as an option normalizer +(e.g. splits single switches aggregate values), a bit like `getopt(1)` does. + +It takes on the standard input the specification of the options to parse and +understand, and echoes on the standard output a line suitable for `sh(1)` `eval` +to replace the arguments with normalized ones. In case of error, it outputs +usage on the standard error stream, and exits with code 129. + +Input Format +~~~~~~~~~~~~ + +`git-rev-parse --parseopt` input format is fully text based. It has two parts, +separated by a line that contains only `--`. The lines before the separator +(should be more than one) are used for the usage. +The lines after the separator describe the options. + +Each line of options has this format: + +------------ +? SP+ help LF +------------ + +``:: + its format is the short option character, then the long option name + separated by a comma. Both parts are not required, though at least one + is necessary. `h,help`, `dry-run` and `f` are all three correct + ``. + +``:: + an `` tells the option parser if the option has an argument + (`=`), an optional one (`?` though its use is discouraged) or none + (no `` in that case). + +The remainder of the line, after stripping the spaces, is used +as the help associated to the option. + +Blank lines are ignored, and lines that don't match this specification are used +as option group headers (start the line with a space to create such +lines on purpose). + +Example +~~~~~~~ + +------------ +OPTS_SPEC="\ +some-command [options] ... + +some-command does foo and bar! +-- +h,help show the help + +foo some nifty option --foo +bar= some cool option --bar with an argument + + An option group Header +C? option C with an optional argument" + +eval `echo "$OPTS_SPEC" | git-rev-parse --parseopt -- "$@" || echo exit $?` +------------ + + Author ------ -Written by Linus Torvalds and -Junio C Hamano +Written by Linus Torvalds . +Junio C Hamano and Pierre Habouzit Documentation -------------- diff --git a/builtin-rev-parse.c b/builtin-rev-parse.c index 8d78b69c90..054519bf28 100644 --- a/builtin-rev-parse.c +++ b/builtin-rev-parse.c @@ -8,6 +8,7 @@ #include "refs.h" #include "quote.h" #include "builtin.h" +#include "parse-options.h" #define DO_REVS 1 #define DO_NOREV 2 @@ -209,6 +210,128 @@ static int try_difference(const char *arg) return 0; } +static int parseopt_dump(const struct option *o, const char *arg, int unset) +{ + struct strbuf *parsed = o->value; + if (unset) + strbuf_addf(parsed, " --no-%s", o->long_name); + else if (o->short_name) + strbuf_addf(parsed, " -%c", o->short_name); + else + strbuf_addf(parsed, " --%s", o->long_name); + if (arg) { + strbuf_addch(parsed, ' '); + sq_quote_buf(parsed, arg); + } + return 0; +} + +static const char *skipspaces(const char *s) +{ + while (isspace(*s)) + s++; + return s; +} + +static int cmd_parseopt(int argc, const char **argv, const char *prefix) +{ + static int keep_dashdash = 0; + static char const * const parseopt_usage[] = { + "git-rev-parse --parseopt [options] -- [...]", + NULL + }; + static struct option parseopt_opts[] = { + OPT_BOOLEAN(0, "keep-dashdash", &keep_dashdash, + "keep the `--` passed as an arg"), + OPT_END(), + }; + + struct strbuf sb, parsed; + const char **usage = NULL; + struct option *opts = NULL; + int onb = 0, osz = 0, unb = 0, usz = 0; + + strbuf_init(&parsed, 0); + strbuf_addstr(&parsed, "set --"); + argc = parse_options(argc, argv, parseopt_opts, parseopt_usage, + PARSE_OPT_KEEP_DASHDASH); + if (argc < 1 || strcmp(argv[0], "--")) + usage_with_options(parseopt_usage, parseopt_opts); + + strbuf_init(&sb, 0); + /* get the usage up to the first line with a -- on it */ + for (;;) { + if (strbuf_getline(&sb, stdin, '\n') == EOF) + die("premature end of input"); + ALLOC_GROW(usage, unb + 1, usz); + if (!strcmp("--", sb.buf)) { + if (unb < 1) + die("no usage string given before the `--' separator"); + usage[unb] = NULL; + break; + } + usage[unb++] = strbuf_detach(&sb, NULL); + } + + /* parse: (|,|)[=?]? SP+ */ + while (strbuf_getline(&sb, stdin, '\n') != EOF) { + const char *s; + struct option *o; + + if (!sb.len) + continue; + + ALLOC_GROW(opts, onb + 1, osz); + memset(opts + onb, 0, sizeof(opts[onb])); + + o = &opts[onb++]; + s = strchr(sb.buf, ' '); + if (!s || *sb.buf == ' ') { + o->type = OPTION_GROUP; + o->help = xstrdup(skipspaces(s)); + continue; + } + + o->type = OPTION_CALLBACK; + o->help = xstrdup(skipspaces(s)); + o->value = &parsed; + o->callback = &parseopt_dump; + switch (s[-1]) { + case '=': + s--; + break; + case '?': + o->flags = PARSE_OPT_OPTARG; + s--; + break; + default: + o->flags = PARSE_OPT_NOARG; + break; + } + + if (s - sb.buf == 1) /* short option only */ + o->short_name = *sb.buf; + else if (sb.buf[1] != ',') /* long option only */ + o->long_name = xmemdupz(sb.buf, s - sb.buf); + else { + o->short_name = *sb.buf; + o->long_name = xmemdupz(sb.buf + 2, s - sb.buf - 2); + } + } + strbuf_release(&sb); + + /* put an OPT_END() */ + ALLOC_GROW(opts, onb + 1, osz); + memset(opts + onb, 0, sizeof(opts[onb])); + argc = parse_options(argc, argv, opts, usage, + keep_dashdash ? PARSE_OPT_KEEP_DASHDASH : 0); + + strbuf_addf(&parsed, " --"); + sq_quote_argv(&parsed, argv, argc, 0); + puts(parsed.buf); + return 0; +} + int cmd_rev_parse(int argc, const char **argv, const char *prefix) { int i, as_is = 0, verify = 0; @@ -216,6 +339,9 @@ int cmd_rev_parse(int argc, const char **argv, const char *prefix) git_config(git_default_config); + if (argc > 1 && !strcmp("--parseopt", argv[1])) + return cmd_parseopt(argc - 1, argv + 1, prefix); + for (i = 1; i < argc; i++) { const char *arg = argv[i]; From bac199b7b17cd12286a7d5393f4789574c2e1dc4 Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Sun, 4 Nov 2007 11:30:54 +0100 Subject: [PATCH 100/187] Update git-sh-setup(1) to allow transparent use of git-rev-parse --parseopt If you set OPTIONS_SPEC, git-sh-setups uses git-rev-parse --parseopt automatically. It also diverts usage to re-exec $0 with the -h option as parse-options.c will catch that. If you need git-rev-parse --parseopt to keep the `--` the user may have passed to your command, set OPTIONS_KEEPDASHDASH to a non empty value in your script. Signed-off-by: Pierre Habouzit Signed-off-by: Junio C Hamano --- git-sh-setup.sh | 48 ++++++++++++++++++++++++++++++------------------ 1 file changed, 30 insertions(+), 18 deletions(-) diff --git a/git-sh-setup.sh b/git-sh-setup.sh index 86d7d4c4e7..e1cf885983 100755 --- a/git-sh-setup.sh +++ b/git-sh-setup.sh @@ -16,9 +16,36 @@ die() { exit 1 } -usage() { - die "Usage: $0 $USAGE" -} +if test -n "$OPTIONS_SPEC"; then + usage() { + exec "$0" -h + } + + parseopt_extra= + [ -n "$OPTIONS_KEEPDASHDASH" ] && + parseopt_extra="$parseopt_extra --keep-dashdash" + + eval `echo "$OPTIONS_SPEC" | git rev-parse --parseopt $parseopt_extra -- "$@" || echo exit $?` +else + usage() { + die "Usage: $0 $USAGE" + } + + if [ -z "$LONG_USAGE" ] + then + LONG_USAGE="Usage: $0 $USAGE" + else + LONG_USAGE="Usage: $0 $USAGE + +$LONG_USAGE" + fi + + case "$1" in + -h|--h|--he|--hel|--help) + echo "$LONG_USAGE" + exit + esac +fi set_reflog_action() { if [ -z "${GIT_REFLOG_ACTION:+set}" ] @@ -91,21 +118,6 @@ get_author_ident_from_commit () { LANG=C LC_ALL=C sed -ne "$pick_author_script" } -if [ -z "$LONG_USAGE" ] -then - LONG_USAGE="Usage: $0 $USAGE" -else - LONG_USAGE="Usage: $0 $USAGE - -$LONG_USAGE" -fi - -case "$1" in - -h|--h|--he|--hel|--help) - echo "$LONG_USAGE" - exit -esac - # Make sure we are in a valid repository of a vintage we understand. if [ -z "$SUBDIRECTORY_OK" ] then From 27c0d1c7f51dd0b31c8a6283df7a23bdb7de8957 Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Sun, 4 Nov 2007 11:30:55 +0100 Subject: [PATCH 101/187] Migrate git-clean.sh to use git-rev-parse --parseopt. Also minor consistency tweaks in how errors are caught. Signed-off-by: Pierre Habouzit Signed-off-by: Junio C Hamano --- git-clean.sh | 39 +++++++++++++++++++++------------------ 1 file changed, 21 insertions(+), 18 deletions(-) diff --git a/git-clean.sh b/git-clean.sh index 4491738186..35a5142c56 100755 --- a/git-clean.sh +++ b/git-clean.sh @@ -3,16 +3,22 @@ # Copyright (c) 2005-2006 Pavel Roskin # -USAGE="[-d] [-f] [-n] [-q] [-x | -X] [--] ..." -LONG_USAGE='Clean untracked files from the working directory - -d remove directories as well - -f override clean.requireForce and clean anyway - -n don'\''t remove anything, just show what would be done - -q be quiet, only report errors - -x remove ignored files as well - -X remove only ignored files +OPTIONS_KEEPDASHDASH= +OPTIONS_SPEC="\ +git-clean [options] ... + +Clean untracked files from the working directory + When optional ... arguments are given, the paths -affected are further limited to those that match them.' +affected are further limited to those that match them. +-- +d remove directories as well +f override clean.requireForce and clean anyway +n don't remove anything, just show what would be done +q be quiet, only report errors +x remove ignored files as well +X remove only ignored files" + SUBDIRECTORY_OK=Yes . git-sh-setup require_work_tree @@ -55,23 +61,20 @@ do shift break ;; - -*) - usage - ;; *) - break + usage # should not happen + ;; esac shift done if [ "$disabled" = true ]; then - echo "clean.requireForce set and -n or -f not given; refusing to clean" - exit 1 + die "clean.requireForce set and -n or -f not given; refusing to clean" fi -case "$ignored,$ignoredonly" in - 1,1) usage;; -esac +if [ "$ignored,$ignoredonly" = "1,1" ]; then + die "-x and -X cannot be set together" +fi if [ -z "$ignored" ]; then excl="--exclude-per-directory=.gitignore" From 943625998b43ae7b7a4faf840951f0cefb28dc33 Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Sun, 4 Nov 2007 11:30:56 +0100 Subject: [PATCH 102/187] Migrate git-clone to use git-rev-parse --parseopt Signed-off-by: Pierre Habouzit Signed-off-by: Junio C Hamano --- git-clone.sh | 101 ++++++++++++++++++++++++++++----------------------- 1 file changed, 56 insertions(+), 45 deletions(-) diff --git a/git-clone.sh b/git-clone.sh index 3f00693608..f216f03a77 100755 --- a/git-clone.sh +++ b/git-clone.sh @@ -8,15 +8,36 @@ # See git-sh-setup why. unset CDPATH +OPTIONS_SPEC="\ +git-clone [options] [--] [] +-- +n,no-checkout don't create a checkout +bare create a bare repository +naked create a bare repository +l,local to clone from a local repository +no-hardlinks don't use local hardlinks, always copy +s,shared setup as a shared repository +template= path to the template directory +q,quiet be quiet +reference= reference repository +o,origin= use instead of 'origin' to track upstream +u,upload-pack= path to git-upload-pack on the remote +depth= create a shallow clone of that depth + +use-separate-remote compatibility, do not use +no-separate-remote compatibility, do not use" + die() { echo >&2 "$@" exit 1 } usage() { - die "Usage: $0 [--template=] [--reference ] [--bare] [-l [-s]] [-q] [-u ] [--origin ] [--depth ] [-n] [--] []" + exec "$0" -h } +eval `echo "$OPTIONS_SPEC" | git rev-parse --parseopt -- "$@" || echo exit $?` + get_repo_base() { ( cd "`/bin/pwd`" && @@ -106,67 +127,57 @@ depth= no_progress= local_explicitly_asked_for= test -t 1 || no_progress=--no-progress -while - case "$#,$1" in - 0,*) break ;; - *,-n|*,--no|*,--no-|*,--no-c|*,--no-ch|*,--no-che|*,--no-chec|\ - *,--no-check|*,--no-checko|*,--no-checkou|*,--no-checkout) - no_checkout=yes ;; - *,--na|*,--nak|*,--nake|*,--naked|\ - *,-b|*,--b|*,--ba|*,--bar|*,--bare) bare=yes ;; - *,-l|*,--l|*,--lo|*,--loc|*,--loca|*,--local) - local_explicitly_asked_for=yes - use_local_hardlink=yes ;; - *,--no-h|*,--no-ha|*,--no-har|*,--no-hard|*,--no-hardl|\ - *,--no-hardli|*,--no-hardlin|*,--no-hardlink|*,--no-hardlinks) - use_local_hardlink=no ;; - *,-s|*,--s|*,--sh|*,--sha|*,--shar|*,--share|*,--shared) - local_shared=yes; ;; - 1,--template) usage ;; - *,--template) + +while test $# != 0 +do + case "$1" in + -n|--no-checkout) + no_checkout=yes ;; + --naked|--bare) + bare=yes ;; + -l|--local) + local_explicitly_asked_for=yes + use_local_hardlink=yes + ;; + --no-hardlinks) + use_local_hardlink=no ;; + -s|--shared) + local_shared=yes ;; + --template) shift; template="--template=$1" ;; - *,--template=*) - template="$1" ;; - *,-q|*,--quiet) quiet=-q ;; - *,--use-separate-remote) ;; - *,--no-separate-remote) + -q|--quiet) + quiet=-q ;; + --use-separate-remote|--no-separate-remote) die "clones are always made with separate-remote layout" ;; - 1,--reference) usage ;; - *,--reference) + --reference) shift; reference="$1" ;; - *,--reference=*) - reference=`expr "z$1" : 'z--reference=\(.*\)'` ;; - *,-o|*,--or|*,--ori|*,--orig|*,--origi|*,--origin) - case "$2" in + -o,--origin) + shift; + case "$1" in '') usage ;; */*) - die "'$2' is not suitable for an origin name" + die "'$1' is not suitable for an origin name" esac - git check-ref-format "heads/$2" || - die "'$2' is not suitable for a branch name" + git check-ref-format "heads/$1" || + die "'$1' is not suitable for a branch name" test -z "$origin_override" || die "Do not give more than one --origin options." origin_override=yes - origin="$2"; shift + origin="$1" ;; - 1,-u|1,--upload-pack) usage ;; - *,-u|*,--upload-pack) + -u|--upload-pack) shift upload_pack="--upload-pack=$1" ;; - *,--upload-pack=*) - upload_pack=--upload-pack=$(expr "z$1" : 'z-[^=]*=\(.*\)') ;; - 1,--depth) usage;; - *,--depth) + --depth) shift - depth="--depth=$1";; - *,--) + depth="--depth=$1" ;; + --) shift break ;; - *,-*) usage ;; - *) break ;; + *) + usage ;; esac -do shift done From 78443d90491c1b82afdffc3d5d2ab8c1a58928b5 Mon Sep 17 00:00:00 2001 From: Pierre Habouzit Date: Sun, 4 Nov 2007 11:30:57 +0100 Subject: [PATCH 103/187] Migrate git-am.sh to use git-rev-parse --parseopt Signed-off-by: Pierre Habouzit Signed-off-by: Junio C Hamano --- git-am.sh | 94 +++++++++++++++++++++++++++++-------------------------- 1 file changed, 49 insertions(+), 45 deletions(-) diff --git a/git-am.sh b/git-am.sh index 2514d07de2..876b973a4d 100755 --- a/git-am.sh +++ b/git-am.sh @@ -2,11 +2,26 @@ # # Copyright (c) 2005, 2006 Junio C Hamano -USAGE='[--signoff] [--dotest=] [--keep] [--utf8 | --no-utf8] - [--3way] [--interactive] [--binary] - [--whitespace=