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 <stimming@tuhh.de> Signed-off-by: Johannes Schindelin <johannes.schindelin@gmx.de>
This commit is contained in:
parent
d4b0ccd931
commit
1ac17950e9
257
git-gui.sh
257
git-gui.sh
@ -502,7 +502,7 @@ proc tk_optionMenu {w varName args} {
|
|||||||
set _git [_which git]
|
set _git [_which git]
|
||||||
if {$_git eq {}} {
|
if {$_git eq {}} {
|
||||||
catch {wm withdraw .}
|
catch {wm withdraw .}
|
||||||
error_popup "Cannot find git in PATH."
|
error_popup [mc "Cannot find git in PATH."]
|
||||||
exit 1
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -529,7 +529,7 @@ if {![regsub {^git version } $_git_version {} _git_version]} {
|
|||||||
-icon error \
|
-icon error \
|
||||||
-type ok \
|
-type ok \
|
||||||
-title "git-gui: fatal error" \
|
-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
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -546,14 +546,14 @@ if {![regexp {^[1-9]+(\.[0-9]+)+$} $_git_version]} {
|
|||||||
-type yesno \
|
-type yesno \
|
||||||
-default no \
|
-default no \
|
||||||
-title "[appname]: warning" \
|
-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?
|
Assume '%s' is version 1.5.0?
|
||||||
"] eq {yes}} {
|
" $_git $_real_git_version [appname] $_real_git_version]] eq {yes}} {
|
||||||
set _git_version 1.5.0
|
set _git_version 1.5.0
|
||||||
} else {
|
} else {
|
||||||
exit 1
|
exit 1
|
||||||
@ -711,7 +711,7 @@ if {[catch {
|
|||||||
set _prefix [git rev-parse --show-prefix]
|
set _prefix [git rev-parse --show-prefix]
|
||||||
} err]} {
|
} err]} {
|
||||||
catch {wm withdraw .}
|
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
|
exit 1
|
||||||
}
|
}
|
||||||
if {![file isdirectory $_gitdir] && [is_Cygwin]} {
|
if {![file isdirectory $_gitdir] && [is_Cygwin]} {
|
||||||
@ -719,7 +719,7 @@ if {![file isdirectory $_gitdir] && [is_Cygwin]} {
|
|||||||
}
|
}
|
||||||
if {![file isdirectory $_gitdir]} {
|
if {![file isdirectory $_gitdir]} {
|
||||||
catch {wm withdraw .}
|
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
|
exit 1
|
||||||
}
|
}
|
||||||
if {$_prefix ne {}} {
|
if {$_prefix ne {}} {
|
||||||
@ -733,12 +733,12 @@ if {$_prefix ne {}} {
|
|||||||
} elseif {![is_enabled bare]} {
|
} elseif {![is_enabled bare]} {
|
||||||
if {[lindex [file split $_gitdir] end] ne {.git}} {
|
if {[lindex [file split $_gitdir] end] ne {.git}} {
|
||||||
catch {wm withdraw .}
|
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
|
exit 1
|
||||||
}
|
}
|
||||||
if {[catch {cd [file dirname $_gitdir]} err]} {
|
if {[catch {cd [file dirname $_gitdir]} err]} {
|
||||||
catch {wm withdraw .}
|
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
|
exit 1
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -885,7 +885,7 @@ proc rescan {after {honor_trustmtime 1}} {
|
|||||||
rescan_stage2 {} $after
|
rescan_stage2 {} $after
|
||||||
} else {
|
} else {
|
||||||
set rescan_active 1
|
set rescan_active 1
|
||||||
ui_status {Refreshing file status...}
|
ui_status [mc "Refreshing file status..."]
|
||||||
set fd_rf [git_read update-index \
|
set fd_rf [git_read update-index \
|
||||||
-q \
|
-q \
|
||||||
--unmerged \
|
--unmerged \
|
||||||
@ -922,7 +922,7 @@ proc rescan_stage2 {fd after} {
|
|||||||
set buf_rlo {}
|
set buf_rlo {}
|
||||||
|
|
||||||
set rescan_active 3
|
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_di [git_read diff-index --cached -z [PARENT]]
|
||||||
set fd_df [git_read diff-files -z]
|
set fd_df [git_read diff-files -z]
|
||||||
set fd_lo [eval git_read ls-files --others -z $ls_others]
|
set fd_lo [eval git_read ls-files --others -z $ls_others]
|
||||||
@ -1088,7 +1088,7 @@ proc ui_status {msg} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
proc ui_ready {{test {}}} {
|
proc ui_ready {{test {}}} {
|
||||||
$::main_status show {Ready.} $test
|
$::main_status show [mc "Ready."] $test
|
||||||
}
|
}
|
||||||
|
|
||||||
proc escape_path {path} {
|
proc escape_path {path} {
|
||||||
@ -1353,31 +1353,32 @@ set all_icons(O$ui_workdir) file_plain
|
|||||||
|
|
||||||
set max_status_desc 0
|
set max_status_desc 0
|
||||||
foreach i {
|
foreach i {
|
||||||
{__ "Unmodified"}
|
{__ {mc "Unmodified"}}
|
||||||
|
|
||||||
{_M "Modified, not staged"}
|
{_M {mc "Modified, not staged"}}
|
||||||
{M_ "Staged for commit"}
|
{M_ {mc "Staged for commit"}}
|
||||||
{MM "Portions staged for commit"}
|
{MM {mc "Portions staged for commit"}}
|
||||||
{MD "Staged for commit, missing"}
|
{MD {mc "Staged for commit, missing"}}
|
||||||
|
|
||||||
{_O "Untracked, not staged"}
|
{_O {mc "Untracked, not staged"}}
|
||||||
{A_ "Staged for commit"}
|
{A_ {mc "Staged for commit"}}
|
||||||
{AM "Portions staged for commit"}
|
{AM {mc "Portions staged for commit"}}
|
||||||
{AD "Staged for commit, missing"}
|
{AD {mc "Staged for commit, missing"}}
|
||||||
|
|
||||||
{_D "Missing"}
|
{_D {mc "Missing"}}
|
||||||
{D_ "Staged for removal"}
|
{D_ {mc "Staged for removal"}}
|
||||||
{DO "Staged for removal, still present"}
|
{DO {mc "Staged for removal, still present"}}
|
||||||
|
|
||||||
{U_ "Requires merge resolution"}
|
{U_ {mc "Requires merge resolution"}}
|
||||||
{UU "Requires merge resolution"}
|
{UU {mc "Requires merge resolution"}}
|
||||||
{UM "Requires merge resolution"}
|
{UM {mc "Requires merge resolution"}}
|
||||||
{UD "Requires merge resolution"}
|
{UD {mc "Requires merge resolution"}}
|
||||||
} {
|
} {
|
||||||
if {$max_status_desc < [string length [lindex $i 1]]} {
|
set text [eval [lindex $i 1]]
|
||||||
set max_status_desc [string length [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
|
unset i
|
||||||
|
|
||||||
@ -1416,7 +1417,7 @@ proc incr_font_size {font {amt 1}} {
|
|||||||
##
|
##
|
||||||
## ui commands
|
## ui commands
|
||||||
|
|
||||||
set starting_gitk_msg {Starting gitk... please wait...}
|
set starting_gitk_msg [mc "Starting gitk... please wait..."]
|
||||||
|
|
||||||
proc do_gitk {revs} {
|
proc do_gitk {revs} {
|
||||||
# -- Always start gitk through whatever we were loaded with. This
|
# -- 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 exe [file join [file dirname $::_git] gitk]
|
||||||
set cmd [list [info nameofexecutable] $exe]
|
set cmd [list [info nameofexecutable] $exe]
|
||||||
if {! [file exists $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 {
|
} else {
|
||||||
eval exec $cmd $revs &
|
eval exec $cmd $revs &
|
||||||
ui_status $::starting_gitk_msg
|
ui_status $::starting_gitk_msg
|
||||||
@ -1642,7 +1643,7 @@ proc apply_config {} {
|
|||||||
font configure $font $cn $cv
|
font configure $font $cn $cv
|
||||||
}
|
}
|
||||||
} err]} {
|
} 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] {
|
foreach {cn cv} [font configure $font] {
|
||||||
font configure ${font}bold $cn $cv
|
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.fontui) [font configure font_ui]
|
||||||
set default_config(gui.fontdiff) [font configure font_diff]
|
set default_config(gui.fontdiff) [font configure font_diff]
|
||||||
set font_descs {
|
set font_descs {
|
||||||
{fontui font_ui {Main Font}}
|
{fontui font_ui {mc "Main Font"}}
|
||||||
{fontdiff font_diff {Diff/Console Font}}
|
{fontdiff font_diff {mc "Diff/Console Font"}}
|
||||||
}
|
}
|
||||||
load_config 0
|
load_config 0
|
||||||
apply_config
|
apply_config
|
||||||
@ -1682,18 +1683,18 @@ set ui_comm {}
|
|||||||
# -- Menu Bar
|
# -- Menu Bar
|
||||||
#
|
#
|
||||||
menu .mbar -tearoff 0
|
menu .mbar -tearoff 0
|
||||||
.mbar add cascade -label Repository -menu .mbar.repository
|
.mbar add cascade -label [mc Repository] -menu .mbar.repository
|
||||||
.mbar add cascade -label Edit -menu .mbar.edit
|
.mbar add cascade -label [mc Edit] -menu .mbar.edit
|
||||||
if {[is_enabled branch]} {
|
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]} {
|
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]} {
|
if {[is_enabled transport]} {
|
||||||
.mbar add cascade -label Merge -menu .mbar.merge
|
.mbar add cascade -label [mc Merge] -menu .mbar.merge
|
||||||
.mbar add cascade -label Fetch -menu .mbar.fetch
|
.mbar add cascade -label [mc Fetch] -menu .mbar.fetch
|
||||||
.mbar add cascade -label Push -menu .mbar.push
|
.mbar add cascade -label [mc Push] -menu .mbar.push
|
||||||
}
|
}
|
||||||
. configure -menu .mbar
|
. configure -menu .mbar
|
||||||
|
|
||||||
@ -1702,87 +1703,87 @@ if {[is_enabled transport]} {
|
|||||||
menu .mbar.repository
|
menu .mbar.repository
|
||||||
|
|
||||||
.mbar.repository add command \
|
.mbar.repository add command \
|
||||||
-label {Browse Current Branch's Files} \
|
-label [mc "Browse Current Branch's Files"] \
|
||||||
-command {browser::new $current_branch}
|
-command {browser::new $current_branch}
|
||||||
set ui_browse_current [.mbar.repository index last]
|
set ui_browse_current [.mbar.repository index last]
|
||||||
.mbar.repository add command \
|
.mbar.repository add command \
|
||||||
-label {Browse Branch Files...} \
|
-label [mc "Browse Branch Files..."] \
|
||||||
-command browser_open::dialog
|
-command browser_open::dialog
|
||||||
.mbar.repository add separator
|
.mbar.repository add separator
|
||||||
|
|
||||||
.mbar.repository add command \
|
.mbar.repository add command \
|
||||||
-label {Visualize Current Branch's History} \
|
-label [mc "Visualize Current Branch's History"] \
|
||||||
-command {do_gitk $current_branch}
|
-command {do_gitk $current_branch}
|
||||||
set ui_visualize_current [.mbar.repository index last]
|
set ui_visualize_current [.mbar.repository index last]
|
||||||
.mbar.repository add command \
|
.mbar.repository add command \
|
||||||
-label {Visualize All Branch History} \
|
-label [mc "Visualize All Branch History"] \
|
||||||
-command {do_gitk --all}
|
-command {do_gitk --all}
|
||||||
.mbar.repository add separator
|
.mbar.repository add separator
|
||||||
|
|
||||||
proc current_branch_write {args} {
|
proc current_branch_write {args} {
|
||||||
global current_branch
|
global current_branch
|
||||||
.mbar.repository entryconf $::ui_browse_current \
|
.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 \
|
.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
|
trace add variable current_branch write current_branch_write
|
||||||
|
|
||||||
if {[is_enabled multicommit]} {
|
if {[is_enabled multicommit]} {
|
||||||
.mbar.repository add command -label {Database Statistics} \
|
.mbar.repository add command -label [mc "Database Statistics"] \
|
||||||
-command do_stats
|
-command do_stats
|
||||||
|
|
||||||
.mbar.repository add command -label {Compress Database} \
|
.mbar.repository add command -label [mc "Compress Database"] \
|
||||||
-command do_gc
|
-command do_gc
|
||||||
|
|
||||||
.mbar.repository add command -label {Verify Database} \
|
.mbar.repository add command -label [mc "Verify Database"] \
|
||||||
-command do_fsck_objects
|
-command do_fsck_objects
|
||||||
|
|
||||||
.mbar.repository add separator
|
.mbar.repository add separator
|
||||||
|
|
||||||
if {[is_Cygwin]} {
|
if {[is_Cygwin]} {
|
||||||
.mbar.repository add command \
|
.mbar.repository add command \
|
||||||
-label {Create Desktop Icon} \
|
-label [mc "Create Desktop Icon"] \
|
||||||
-command do_cygwin_shortcut
|
-command do_cygwin_shortcut
|
||||||
} elseif {[is_Windows]} {
|
} elseif {[is_Windows]} {
|
||||||
.mbar.repository add command \
|
.mbar.repository add command \
|
||||||
-label {Create Desktop Icon} \
|
-label [mc "Create Desktop Icon"] \
|
||||||
-command do_windows_shortcut
|
-command do_windows_shortcut
|
||||||
} elseif {[is_MacOSX]} {
|
} elseif {[is_MacOSX]} {
|
||||||
.mbar.repository add command \
|
.mbar.repository add command \
|
||||||
-label {Create Desktop Icon} \
|
-label [mc "Create Desktop Icon"] \
|
||||||
-command do_macosx_app
|
-command do_macosx_app
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
.mbar.repository add command -label Quit \
|
.mbar.repository add command -label [mc Quit] \
|
||||||
-command do_quit \
|
-command do_quit \
|
||||||
-accelerator $M1T-Q
|
-accelerator $M1T-Q
|
||||||
|
|
||||||
# -- Edit Menu
|
# -- Edit Menu
|
||||||
#
|
#
|
||||||
menu .mbar.edit
|
menu .mbar.edit
|
||||||
.mbar.edit add command -label Undo \
|
.mbar.edit add command -label [mc Undo] \
|
||||||
-command {catch {[focus] edit undo}} \
|
-command {catch {[focus] edit undo}} \
|
||||||
-accelerator $M1T-Z
|
-accelerator $M1T-Z
|
||||||
.mbar.edit add command -label Redo \
|
.mbar.edit add command -label [mc Redo] \
|
||||||
-command {catch {[focus] edit redo}} \
|
-command {catch {[focus] edit redo}} \
|
||||||
-accelerator $M1T-Y
|
-accelerator $M1T-Y
|
||||||
.mbar.edit add separator
|
.mbar.edit add separator
|
||||||
.mbar.edit add command -label Cut \
|
.mbar.edit add command -label [mc Cut] \
|
||||||
-command {catch {tk_textCut [focus]}} \
|
-command {catch {tk_textCut [focus]}} \
|
||||||
-accelerator $M1T-X
|
-accelerator $M1T-X
|
||||||
.mbar.edit add command -label Copy \
|
.mbar.edit add command -label [mc Copy] \
|
||||||
-command {catch {tk_textCopy [focus]}} \
|
-command {catch {tk_textCopy [focus]}} \
|
||||||
-accelerator $M1T-C
|
-accelerator $M1T-C
|
||||||
.mbar.edit add command -label Paste \
|
.mbar.edit add command -label [mc Paste] \
|
||||||
-command {catch {tk_textPaste [focus]; [focus] see insert}} \
|
-command {catch {tk_textPaste [focus]; [focus] see insert}} \
|
||||||
-accelerator $M1T-V
|
-accelerator $M1T-V
|
||||||
.mbar.edit add command -label Delete \
|
.mbar.edit add command -label [mc Delete] \
|
||||||
-command {catch {[focus] delete sel.first sel.last}} \
|
-command {catch {[focus] delete sel.first sel.last}} \
|
||||||
-accelerator Del
|
-accelerator Del
|
||||||
.mbar.edit add separator
|
.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}} \
|
-command {catch {[focus] tag add sel 0.0 end}} \
|
||||||
-accelerator $M1T-A
|
-accelerator $M1T-A
|
||||||
|
|
||||||
@ -1791,29 +1792,29 @@ menu .mbar.edit
|
|||||||
if {[is_enabled branch]} {
|
if {[is_enabled branch]} {
|
||||||
menu .mbar.branch
|
menu .mbar.branch
|
||||||
|
|
||||||
.mbar.branch add command -label {Create...} \
|
.mbar.branch add command -label [mc "Create..."] \
|
||||||
-command branch_create::dialog \
|
-command branch_create::dialog \
|
||||||
-accelerator $M1T-N
|
-accelerator $M1T-N
|
||||||
lappend disable_on_lock [list .mbar.branch entryconf \
|
lappend disable_on_lock [list .mbar.branch entryconf \
|
||||||
[.mbar.branch index last] -state]
|
[.mbar.branch index last] -state]
|
||||||
|
|
||||||
.mbar.branch add command -label {Checkout...} \
|
.mbar.branch add command -label [mc "Checkout..."] \
|
||||||
-command branch_checkout::dialog \
|
-command branch_checkout::dialog \
|
||||||
-accelerator $M1T-O
|
-accelerator $M1T-O
|
||||||
lappend disable_on_lock [list .mbar.branch entryconf \
|
lappend disable_on_lock [list .mbar.branch entryconf \
|
||||||
[.mbar.branch index last] -state]
|
[.mbar.branch index last] -state]
|
||||||
|
|
||||||
.mbar.branch add command -label {Rename...} \
|
.mbar.branch add command -label [mc "Rename..."] \
|
||||||
-command branch_rename::dialog
|
-command branch_rename::dialog
|
||||||
lappend disable_on_lock [list .mbar.branch entryconf \
|
lappend disable_on_lock [list .mbar.branch entryconf \
|
||||||
[.mbar.branch index last] -state]
|
[.mbar.branch index last] -state]
|
||||||
|
|
||||||
.mbar.branch add command -label {Delete...} \
|
.mbar.branch add command -label [mc "Delete..."] \
|
||||||
-command branch_delete::dialog
|
-command branch_delete::dialog
|
||||||
lappend disable_on_lock [list .mbar.branch entryconf \
|
lappend disable_on_lock [list .mbar.branch entryconf \
|
||||||
[.mbar.branch index last] -state]
|
[.mbar.branch index last] -state]
|
||||||
|
|
||||||
.mbar.branch add command -label {Reset...} \
|
.mbar.branch add command -label [mc "Reset..."] \
|
||||||
-command merge::reset_hard
|
-command merge::reset_hard
|
||||||
lappend disable_on_lock [list .mbar.branch entryconf \
|
lappend disable_on_lock [list .mbar.branch entryconf \
|
||||||
[.mbar.branch index last] -state]
|
[.mbar.branch index last] -state]
|
||||||
@ -1825,7 +1826,7 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
|
|||||||
menu .mbar.commit
|
menu .mbar.commit
|
||||||
|
|
||||||
.mbar.commit add radiobutton \
|
.mbar.commit add radiobutton \
|
||||||
-label {New Commit} \
|
-label [mc "New Commit"] \
|
||||||
-command do_select_commit_type \
|
-command do_select_commit_type \
|
||||||
-variable selected_commit_type \
|
-variable selected_commit_type \
|
||||||
-value new
|
-value new
|
||||||
@ -1833,7 +1834,7 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
|
|||||||
[list .mbar.commit entryconf [.mbar.commit index last] -state]
|
[list .mbar.commit entryconf [.mbar.commit index last] -state]
|
||||||
|
|
||||||
.mbar.commit add radiobutton \
|
.mbar.commit add radiobutton \
|
||||||
-label {Amend Last Commit} \
|
-label [mc "Amend Last Commit"] \
|
||||||
-command do_select_commit_type \
|
-command do_select_commit_type \
|
||||||
-variable selected_commit_type \
|
-variable selected_commit_type \
|
||||||
-value amend
|
-value amend
|
||||||
@ -1842,40 +1843,40 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
|
|||||||
|
|
||||||
.mbar.commit add separator
|
.mbar.commit add separator
|
||||||
|
|
||||||
.mbar.commit add command -label Rescan \
|
.mbar.commit add command -label [mc Rescan] \
|
||||||
-command do_rescan \
|
-command do_rescan \
|
||||||
-accelerator F5
|
-accelerator F5
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
[list .mbar.commit entryconf [.mbar.commit index last] -state]
|
[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
|
-command do_add_selection
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
[list .mbar.commit entryconf [.mbar.commit index last] -state]
|
[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 \
|
-command do_add_all \
|
||||||
-accelerator $M1T-I
|
-accelerator $M1T-I
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
[list .mbar.commit entryconf [.mbar.commit index last] -state]
|
[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
|
-command do_unstage_selection
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
[list .mbar.commit entryconf [.mbar.commit index last] -state]
|
[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
|
-command do_revert_selection
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
[list .mbar.commit entryconf [.mbar.commit index last] -state]
|
[list .mbar.commit entryconf [.mbar.commit index last] -state]
|
||||||
|
|
||||||
.mbar.commit add separator
|
.mbar.commit add separator
|
||||||
|
|
||||||
.mbar.commit add command -label {Sign Off} \
|
.mbar.commit add command -label [mc "Sign Off"] \
|
||||||
-command do_signoff \
|
-command do_signoff \
|
||||||
-accelerator $M1T-S
|
-accelerator $M1T-S
|
||||||
|
|
||||||
.mbar.commit add command -label Commit \
|
.mbar.commit add command -label [mc Commit] \
|
||||||
-command do_commit \
|
-command do_commit \
|
||||||
-accelerator $M1T-Return
|
-accelerator $M1T-Return
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
@ -1886,12 +1887,12 @@ if {[is_enabled multicommit] || [is_enabled singlecommit]} {
|
|||||||
#
|
#
|
||||||
if {[is_enabled branch]} {
|
if {[is_enabled branch]} {
|
||||||
menu .mbar.merge
|
menu .mbar.merge
|
||||||
.mbar.merge add command -label {Local Merge...} \
|
.mbar.merge add command -label [mc "Local Merge..."] \
|
||||||
-command merge::dialog \
|
-command merge::dialog \
|
||||||
-accelerator $M1T-M
|
-accelerator $M1T-M
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
[list .mbar.merge entryconf [.mbar.merge index last] -state]
|
[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
|
-command merge::reset_hard
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
[list .mbar.merge entryconf [.mbar.merge index last] -state]
|
[list .mbar.merge entryconf [.mbar.merge index last] -state]
|
||||||
@ -1903,38 +1904,38 @@ if {[is_enabled transport]} {
|
|||||||
menu .mbar.fetch
|
menu .mbar.fetch
|
||||||
|
|
||||||
menu .mbar.push
|
menu .mbar.push
|
||||||
.mbar.push add command -label {Push...} \
|
.mbar.push add command -label [mc "Push..."] \
|
||||||
-command do_push_anywhere \
|
-command do_push_anywhere \
|
||||||
-accelerator $M1T-P
|
-accelerator $M1T-P
|
||||||
.mbar.push add command -label {Delete...} \
|
.mbar.push add command -label [mc "Delete..."] \
|
||||||
-command remote_branch_delete::dialog
|
-command remote_branch_delete::dialog
|
||||||
}
|
}
|
||||||
|
|
||||||
if {[is_MacOSX]} {
|
if {[is_MacOSX]} {
|
||||||
# -- Apple Menu (Mac OS X only)
|
# -- 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
|
menu .mbar.apple
|
||||||
|
|
||||||
.mbar.apple add command -label "About [appname]" \
|
.mbar.apple add command -label [mc "About %s" [appname]] \
|
||||||
-command do_about
|
-command do_about
|
||||||
.mbar.apple add command -label "Options..." \
|
.mbar.apple add command -label [mc "Options..."] \
|
||||||
-command do_options
|
-command do_options
|
||||||
} else {
|
} else {
|
||||||
# -- Edit Menu
|
# -- Edit Menu
|
||||||
#
|
#
|
||||||
.mbar.edit add separator
|
.mbar.edit add separator
|
||||||
.mbar.edit add command -label {Options...} \
|
.mbar.edit add command -label [mc "Options..."] \
|
||||||
-command do_options
|
-command do_options
|
||||||
}
|
}
|
||||||
|
|
||||||
# -- Help Menu
|
# -- Help Menu
|
||||||
#
|
#
|
||||||
.mbar add cascade -label Help -menu .mbar.help
|
.mbar add cascade -label [mc Help] -menu .mbar.help
|
||||||
menu .mbar.help
|
menu .mbar.help
|
||||||
|
|
||||||
if {![is_MacOSX]} {
|
if {![is_MacOSX]} {
|
||||||
.mbar.help add command -label "About [appname]" \
|
.mbar.help add command -label [mc "About %s" [appname]] \
|
||||||
-command do_about
|
-command do_about
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -1971,7 +1972,7 @@ if {[file isfile $doc_path]} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if {$browser ne {}} {
|
if {$browser ne {}} {
|
||||||
.mbar.help add command -label {Online Documentation} \
|
.mbar.help add command -label [mc "Online Documentation"] \
|
||||||
-command [list exec $browser $doc_url &]
|
-command [list exec $browser $doc_url &]
|
||||||
}
|
}
|
||||||
unset browser doc_path doc_url
|
unset browser doc_path doc_url
|
||||||
@ -2093,7 +2094,7 @@ frame .branch \
|
|||||||
-borderwidth 1 \
|
-borderwidth 1 \
|
||||||
-relief sunken
|
-relief sunken
|
||||||
label .branch.l1 \
|
label .branch.l1 \
|
||||||
-text {Current Branch:} \
|
-text [mc "Current Branch:"] \
|
||||||
-anchor w \
|
-anchor w \
|
||||||
-justify left
|
-justify left
|
||||||
label .branch.cb \
|
label .branch.cb \
|
||||||
@ -2114,7 +2115,7 @@ pack .vpane -anchor n -side top -fill both -expand 1
|
|||||||
# -- Index File List
|
# -- Index File List
|
||||||
#
|
#
|
||||||
frame .vpane.files.index -height 100 -width 200
|
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
|
-background lightgreen
|
||||||
text $ui_index -background white -borderwidth 0 \
|
text $ui_index -background white -borderwidth 0 \
|
||||||
-width 20 -height 10 \
|
-width 20 -height 10 \
|
||||||
@ -2134,7 +2135,7 @@ pack $ui_index -side left -fill both -expand 1
|
|||||||
# -- Working Directory File List
|
# -- Working Directory File List
|
||||||
#
|
#
|
||||||
frame .vpane.files.workdir -height 100 -width 200
|
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
|
-background lightsalmon
|
||||||
text $ui_workdir -background white -borderwidth 0 \
|
text $ui_workdir -background white -borderwidth 0 \
|
||||||
-width 20 -height 10 \
|
-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.l -side top -fill x
|
||||||
pack .vpane.lower.commarea.buttons -side left -fill y
|
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
|
-command do_rescan
|
||||||
pack .vpane.lower.commarea.buttons.rescan -side top -fill x
|
pack .vpane.lower.commarea.buttons.rescan -side top -fill x
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
{.vpane.lower.commarea.buttons.rescan conf -state}
|
{.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
|
-command do_add_all
|
||||||
pack .vpane.lower.commarea.buttons.incall -side top -fill x
|
pack .vpane.lower.commarea.buttons.incall -side top -fill x
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
{.vpane.lower.commarea.buttons.incall conf -state}
|
{.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
|
-command do_signoff
|
||||||
pack .vpane.lower.commarea.buttons.signoff -side top -fill x
|
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
|
-command do_commit
|
||||||
pack .vpane.lower.commarea.buttons.commit -side top -fill x
|
pack .vpane.lower.commarea.buttons.commit -side top -fill x
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
{.vpane.lower.commarea.buttons.commit conf -state}
|
{.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
|
-command do_push_anywhere
|
||||||
pack .vpane.lower.commarea.buttons.push -side top -fill x
|
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_comm .vpane.lower.commarea.buffer.t
|
||||||
set ui_coml .vpane.lower.commarea.buffer.header.l
|
set ui_coml .vpane.lower.commarea.buffer.header.l
|
||||||
radiobutton .vpane.lower.commarea.buffer.header.new \
|
radiobutton .vpane.lower.commarea.buffer.header.new \
|
||||||
-text {New Commit} \
|
-text [mc "New Commit"] \
|
||||||
-command do_select_commit_type \
|
-command do_select_commit_type \
|
||||||
-variable selected_commit_type \
|
-variable selected_commit_type \
|
||||||
-value new
|
-value new
|
||||||
lappend disable_on_lock \
|
lappend disable_on_lock \
|
||||||
[list .vpane.lower.commarea.buffer.header.new conf -state]
|
[list .vpane.lower.commarea.buffer.header.new conf -state]
|
||||||
radiobutton .vpane.lower.commarea.buffer.header.amend \
|
radiobutton .vpane.lower.commarea.buffer.header.amend \
|
||||||
-text {Amend Last Commit} \
|
-text [mc "Amend Last Commit"] \
|
||||||
-command do_select_commit_type \
|
-command do_select_commit_type \
|
||||||
-variable selected_commit_type \
|
-variable selected_commit_type \
|
||||||
-value amend
|
-value amend
|
||||||
@ -2227,12 +2228,12 @@ label $ui_coml \
|
|||||||
proc trace_commit_type {varname args} {
|
proc trace_commit_type {varname args} {
|
||||||
global ui_coml commit_type
|
global ui_coml commit_type
|
||||||
switch -glob -- $commit_type {
|
switch -glob -- $commit_type {
|
||||||
initial {set txt {Initial Commit Message:}}
|
initial {set txt [mc "Initial Commit Message:"]}
|
||||||
amend {set txt {Amended Commit Message:}}
|
amend {set txt [mc "Amended Commit Message:"]}
|
||||||
amend-initial {set txt {Amended Initial Commit Message:}}
|
amend-initial {set txt [mc "Amended Initial Commit Message:"]}
|
||||||
amend-merge {set txt {Amended Merge Commit Message:}}
|
amend-merge {set txt [mc "Amended Merge Commit Message:"]}
|
||||||
merge {set txt {Merge Commit Message:}}
|
merge {set txt [mc "Merge Commit Message:"]}
|
||||||
* {set txt {Commit Message:}}
|
* {set txt [mc "Commit Message:"]}
|
||||||
}
|
}
|
||||||
$ui_coml conf -text $txt
|
$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
|
set ctxm .vpane.lower.commarea.buffer.ctxm
|
||||||
menu $ctxm -tearoff 0
|
menu $ctxm -tearoff 0
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Cut} \
|
-label [mc Cut] \
|
||||||
-command {tk_textCut $ui_comm}
|
-command {tk_textCut $ui_comm}
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Copy} \
|
-label [mc Copy] \
|
||||||
-command {tk_textCopy $ui_comm}
|
-command {tk_textCopy $ui_comm}
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Paste} \
|
-label [mc Paste] \
|
||||||
-command {tk_textPaste $ui_comm}
|
-command {tk_textPaste $ui_comm}
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Delete} \
|
-label [mc Delete] \
|
||||||
-command {$ui_comm delete sel.first sel.last}
|
-command {$ui_comm delete sel.first sel.last}
|
||||||
$ctxm add separator
|
$ctxm add separator
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Select All} \
|
-label [mc "Select All"] \
|
||||||
-command {focus $ui_comm;$ui_comm tag add sel 0.0 end}
|
-command {focus $ui_comm;$ui_comm tag add sel 0.0 end}
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Copy All} \
|
-label [mc "Copy All"] \
|
||||||
-command {
|
-command {
|
||||||
$ui_comm tag add sel 0.0 end
|
$ui_comm tag add sel 0.0 end
|
||||||
tk_textCopy $ui_comm
|
tk_textCopy $ui_comm
|
||||||
@ -2285,7 +2286,7 @@ $ctxm add command \
|
|||||||
}
|
}
|
||||||
$ctxm add separator
|
$ctxm add separator
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Sign Off} \
|
-label [mc "Sign Off"] \
|
||||||
-command do_signoff
|
-command do_signoff
|
||||||
bind_button3 $ui_comm "tk_popup $ctxm %X %Y"
|
bind_button3 $ui_comm "tk_popup $ctxm %X %Y"
|
||||||
|
|
||||||
@ -2301,7 +2302,7 @@ proc trace_current_diff_path {varname args} {
|
|||||||
} else {
|
} else {
|
||||||
set p $current_diff_path
|
set p $current_diff_path
|
||||||
set s [mapdesc [lindex $file_states($p) 0] $p]
|
set s [mapdesc [lindex $file_states($p) 0] $p]
|
||||||
set f {File:}
|
set f [mc "File:"]
|
||||||
set p [escape_path $p]
|
set p [escape_path $p]
|
||||||
set o normal
|
set o normal
|
||||||
}
|
}
|
||||||
@ -2335,7 +2336,7 @@ pack .vpane.lower.diff.header.path -fill x
|
|||||||
set ctxm .vpane.lower.diff.header.ctxm
|
set ctxm .vpane.lower.diff.header.ctxm
|
||||||
menu $ctxm -tearoff 0
|
menu $ctxm -tearoff 0
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Copy} \
|
-label [mc Copy] \
|
||||||
-command {
|
-command {
|
||||||
clipboard clear
|
clipboard clear
|
||||||
clipboard append \
|
clipboard append \
|
||||||
@ -2403,19 +2404,19 @@ $ui_diff tag raise sel
|
|||||||
set ctxm .vpane.lower.diff.body.ctxm
|
set ctxm .vpane.lower.diff.body.ctxm
|
||||||
menu $ctxm -tearoff 0
|
menu $ctxm -tearoff 0
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Refresh} \
|
-label [mc Refresh] \
|
||||||
-command reshow_diff
|
-command reshow_diff
|
||||||
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Copy} \
|
-label [mc Copy] \
|
||||||
-command {tk_textCopy $ui_diff}
|
-command {tk_textCopy $ui_diff}
|
||||||
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Select All} \
|
-label [mc "Select All"] \
|
||||||
-command {focus $ui_diff;$ui_diff tag add sel 0.0 end}
|
-command {focus $ui_diff;$ui_diff tag add sel 0.0 end}
|
||||||
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Copy All} \
|
-label [mc "Copy All"] \
|
||||||
-command {
|
-command {
|
||||||
$ui_diff tag add sel 0.0 end
|
$ui_diff tag add sel 0.0 end
|
||||||
tk_textCopy $ui_diff
|
tk_textCopy $ui_diff
|
||||||
@ -2424,36 +2425,36 @@ $ctxm add command \
|
|||||||
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
||||||
$ctxm add separator
|
$ctxm add separator
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Apply/Reverse Hunk} \
|
-label [mc "Apply/Reverse Hunk"] \
|
||||||
-command {apply_hunk $cursorX $cursorY}
|
-command {apply_hunk $cursorX $cursorY}
|
||||||
set ui_diff_applyhunk [$ctxm index last]
|
set ui_diff_applyhunk [$ctxm index last]
|
||||||
lappend diff_actions [list $ctxm entryconf $ui_diff_applyhunk -state]
|
lappend diff_actions [list $ctxm entryconf $ui_diff_applyhunk -state]
|
||||||
$ctxm add separator
|
$ctxm add separator
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Decrease Font Size} \
|
-label [mc "Decrease Font Size"] \
|
||||||
-command {incr_font_size font_diff -1}
|
-command {incr_font_size font_diff -1}
|
||||||
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Increase Font Size} \
|
-label [mc "Increase Font Size"] \
|
||||||
-command {incr_font_size font_diff 1}
|
-command {incr_font_size font_diff 1}
|
||||||
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
||||||
$ctxm add separator
|
$ctxm add separator
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Show Less Context} \
|
-label [mc "Show Less Context"] \
|
||||||
-command {if {$repo_config(gui.diffcontext) >= 1} {
|
-command {if {$repo_config(gui.diffcontext) >= 1} {
|
||||||
incr repo_config(gui.diffcontext) -1
|
incr repo_config(gui.diffcontext) -1
|
||||||
reshow_diff
|
reshow_diff
|
||||||
}}
|
}}
|
||||||
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
||||||
$ctxm add command \
|
$ctxm add command \
|
||||||
-label {Show More Context} \
|
-label [mc "Show More Context"] \
|
||||||
-command {if {$repo_config(gui.diffcontext) < 99} {
|
-command {if {$repo_config(gui.diffcontext) < 99} {
|
||||||
incr repo_config(gui.diffcontext)
|
incr repo_config(gui.diffcontext)
|
||||||
reshow_diff
|
reshow_diff
|
||||||
}}
|
}}
|
||||||
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
lappend diff_actions [list $ctxm entryconf [$ctxm index last] -state]
|
||||||
$ctxm add separator
|
$ctxm add separator
|
||||||
$ctxm add command -label {Options...} \
|
$ctxm add command -label [mc "Options..."] \
|
||||||
-command do_options
|
-command do_options
|
||||||
proc popup_diff_menu {ctxm x y X Y} {
|
proc popup_diff_menu {ctxm x y X Y} {
|
||||||
global current_diff_path file_states
|
global current_diff_path file_states
|
||||||
@ -2461,7 +2462,7 @@ proc popup_diff_menu {ctxm x y X Y} {
|
|||||||
set ::cursorY $y
|
set ::cursorY $y
|
||||||
if {$::ui_index eq $::current_diff_side} {
|
if {$::ui_index eq $::current_diff_side} {
|
||||||
set s normal
|
set s normal
|
||||||
set l "Unstage Hunk From Commit"
|
set l [mc "Unstage Hunk From Commit"]
|
||||||
} else {
|
} else {
|
||||||
if {$current_diff_path eq {}
|
if {$current_diff_path eq {}
|
||||||
|| ![info exists file_states($current_diff_path)]
|
|| ![info exists file_states($current_diff_path)]
|
||||||
@ -2470,7 +2471,7 @@ proc popup_diff_menu {ctxm x y X Y} {
|
|||||||
} else {
|
} else {
|
||||||
set s normal
|
set s normal
|
||||||
}
|
}
|
||||||
set l "Stage Hunk For Commit"
|
set l [mc "Stage Hunk For Commit"]
|
||||||
}
|
}
|
||||||
if {$::is_3way_diff} {
|
if {$::is_3way_diff} {
|
||||||
set s disabled
|
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]
|
set main_status [::status_bar::new .status]
|
||||||
pack .status -anchor w -side bottom -fill x
|
pack .status -anchor w -side bottom -fill x
|
||||||
$main_status show {Initializing...}
|
$main_status show [mc "Initializing..."]
|
||||||
|
|
||||||
# -- Load geometry
|
# -- Load geometry
|
||||||
#
|
#
|
||||||
|
@ -74,11 +74,11 @@ constructor new {i_commit i_path} {
|
|||||||
set path $i_path
|
set path $i_path
|
||||||
|
|
||||||
make_toplevel top w
|
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
|
frame $w.header -background gold
|
||||||
label $w.header.commit_l \
|
label $w.header.commit_l \
|
||||||
-text {Commit:} \
|
-text [mc "Commit:"] \
|
||||||
-background gold \
|
-background gold \
|
||||||
-anchor w \
|
-anchor w \
|
||||||
-justify left
|
-justify left
|
||||||
@ -101,7 +101,7 @@ constructor new {i_commit i_path} {
|
|||||||
-anchor w \
|
-anchor w \
|
||||||
-justify left
|
-justify left
|
||||||
label $w.header.path_l \
|
label $w.header.path_l \
|
||||||
-text {File:} \
|
-text [mc "File:"] \
|
||||||
-background gold \
|
-background gold \
|
||||||
-anchor w \
|
-anchor w \
|
||||||
-justify left
|
-justify left
|
||||||
@ -246,7 +246,7 @@ constructor new {i_commit i_path} {
|
|||||||
|
|
||||||
menu $w.ctxm -tearoff 0
|
menu $w.ctxm -tearoff 0
|
||||||
$w.ctxm add command \
|
$w.ctxm add command \
|
||||||
-label "Copy Commit" \
|
-label [mc "Copy Commit"] \
|
||||||
-command [cb _copycommit]
|
-command [cb _copycommit]
|
||||||
|
|
||||||
foreach i $w_columns {
|
foreach i $w_columns {
|
||||||
@ -366,7 +366,7 @@ method _load {jump} {
|
|||||||
set amov_data [list [list]]
|
set amov_data [list [list]]
|
||||||
set asim_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]
|
$w_path conf -text [escape_path $path]
|
||||||
if {$commit eq {}} {
|
if {$commit eq {}} {
|
||||||
set fd [open $path r]
|
set fd [open $path r]
|
||||||
|
@ -11,37 +11,37 @@ field opt_detach 0; # force a detached head case?
|
|||||||
|
|
||||||
constructor dialog {} {
|
constructor dialog {} {
|
||||||
make_toplevel top w
|
make_toplevel top w
|
||||||
wm title $top "[appname] ([reponame]): Checkout Branch"
|
wm title $top [append "[appname] ([reponame]): " [mc "Checkout Branch"]]
|
||||||
if {$top ne {.}} {
|
if {$top ne {.}} {
|
||||||
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
|
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
|
pack $w.header -side top -fill x
|
||||||
|
|
||||||
frame $w.buttons
|
frame $w.buttons
|
||||||
button $w.buttons.create -text Checkout \
|
button $w.buttons.create -text [mc Checkout] \
|
||||||
-default active \
|
-default active \
|
||||||
-command [cb _checkout]
|
-command [cb _checkout]
|
||||||
pack $w.buttons.create -side right
|
pack $w.buttons.create -side right
|
||||||
button $w.buttons.cancel -text {Cancel} \
|
button $w.buttons.cancel -text [mc Cancel] \
|
||||||
-command [list destroy $w]
|
-command [list destroy $w]
|
||||||
pack $w.buttons.cancel -side right -padx 5
|
pack $w.buttons.cancel -side right -padx 5
|
||||||
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
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 <Double-Button-1> [cb _checkout]
|
$w_rev bind_listbox <Double-Button-1> [cb _checkout]
|
||||||
pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5
|
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 \
|
checkbutton $w.options.fetch \
|
||||||
-text {Fetch Tracking Branch} \
|
-text [mc "Fetch Tracking Branch"] \
|
||||||
-variable @opt_fetch
|
-variable @opt_fetch
|
||||||
pack $w.options.fetch -anchor nw
|
pack $w.options.fetch -anchor nw
|
||||||
|
|
||||||
checkbutton $w.options.detach \
|
checkbutton $w.options.detach \
|
||||||
-text {Detach From Local Branch} \
|
-text [mc "Detach From Local Branch"] \
|
||||||
-variable @opt_detach
|
-variable @opt_detach
|
||||||
pack $w.options.detach -anchor nw
|
pack $w.options.detach -anchor nw
|
||||||
|
|
||||||
|
@ -19,28 +19,28 @@ constructor dialog {} {
|
|||||||
global repo_config
|
global repo_config
|
||||||
|
|
||||||
make_toplevel top w
|
make_toplevel top w
|
||||||
wm title $top "[appname] ([reponame]): Create Branch"
|
wm title $top [append "[appname] ([reponame]): " [mc "Create Branch"]]
|
||||||
if {$top ne {.}} {
|
if {$top ne {.}} {
|
||||||
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
|
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
|
pack $w.header -side top -fill x
|
||||||
|
|
||||||
frame $w.buttons
|
frame $w.buttons
|
||||||
button $w.buttons.create -text Create \
|
button $w.buttons.create -text [mc Create] \
|
||||||
-default active \
|
-default active \
|
||||||
-command [cb _create]
|
-command [cb _create]
|
||||||
pack $w.buttons.create -side right
|
pack $w.buttons.create -side right
|
||||||
button $w.buttons.cancel -text {Cancel} \
|
button $w.buttons.cancel -text [mc Cancel] \
|
||||||
-command [list destroy $w]
|
-command [list destroy $w]
|
||||||
pack $w.buttons.cancel -side right -padx 5
|
pack $w.buttons.cancel -side right -padx 5
|
||||||
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
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 \
|
radiobutton $w.desc.name_r \
|
||||||
-anchor w \
|
-anchor w \
|
||||||
-text {Name:} \
|
-text [mc "Name:"] \
|
||||||
-value user \
|
-value user \
|
||||||
-variable @name_type
|
-variable @name_type
|
||||||
set w_name $w.desc.name_t
|
set w_name $w.desc.name_t
|
||||||
@ -55,7 +55,7 @@ constructor dialog {} {
|
|||||||
|
|
||||||
radiobutton $w.desc.match_r \
|
radiobutton $w.desc.match_r \
|
||||||
-anchor w \
|
-anchor w \
|
||||||
-text {Match Tracking Branch Name} \
|
-text [mc "Match Tracking Branch Name"] \
|
||||||
-value match \
|
-value match \
|
||||||
-variable @name_type
|
-variable @name_type
|
||||||
grid $w.desc.match_r -sticky we -padx {0 5} -columnspan 2
|
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
|
grid columnconfigure $w.desc 1 -weight 1
|
||||||
pack $w.desc -anchor nw -fill x -pady 5 -padx 5
|
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
|
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
|
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
|
pack $w.options.merge.l -side left
|
||||||
radiobutton $w.options.merge.no \
|
radiobutton $w.options.merge.no \
|
||||||
-text No \
|
-text [mc No] \
|
||||||
-value none \
|
-value none \
|
||||||
-variable @opt_merge
|
-variable @opt_merge
|
||||||
pack $w.options.merge.no -side left
|
pack $w.options.merge.no -side left
|
||||||
radiobutton $w.options.merge.ff \
|
radiobutton $w.options.merge.ff \
|
||||||
-text {Fast Forward Only} \
|
-text [mc "Fast Forward Only"] \
|
||||||
-value ff \
|
-value ff \
|
||||||
-variable @opt_merge
|
-variable @opt_merge
|
||||||
pack $w.options.merge.ff -side left
|
pack $w.options.merge.ff -side left
|
||||||
radiobutton $w.options.merge.reset \
|
radiobutton $w.options.merge.reset \
|
||||||
-text {Reset} \
|
-text [mc Reset] \
|
||||||
-value reset \
|
-value reset \
|
||||||
-variable @opt_merge
|
-variable @opt_merge
|
||||||
pack $w.options.merge.reset -side left
|
pack $w.options.merge.reset -side left
|
||||||
pack $w.options.merge -anchor nw
|
pack $w.options.merge -anchor nw
|
||||||
|
|
||||||
checkbutton $w.options.fetch \
|
checkbutton $w.options.fetch \
|
||||||
-text {Fetch Tracking Branch} \
|
-text [mc "Fetch Tracking Branch"] \
|
||||||
-variable @opt_fetch
|
-variable @opt_fetch
|
||||||
pack $w.options.fetch -anchor nw
|
pack $w.options.fetch -anchor nw
|
||||||
|
|
||||||
checkbutton $w.options.checkout \
|
checkbutton $w.options.checkout \
|
||||||
-text {Checkout After Creation} \
|
-text [mc "Checkout After Creation"] \
|
||||||
-variable @opt_checkout
|
-variable @opt_checkout
|
||||||
pack $w.options.checkout -anchor nw
|
pack $w.options.checkout -anchor nw
|
||||||
pack $w.options -anchor nw -fill x -pady 5 -padx 5
|
pack $w.options -anchor nw -fill x -pady 5 -padx 5
|
||||||
@ -128,7 +128,7 @@ method _create {} {
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $w \
|
-parent $w \
|
||||||
-message "Please select a tracking branch."
|
-message [mc "Please select a tracking branch."]
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if {![regsub ^refs/heads/ [lindex $spec 2] {} newbranch]} {
|
if {![regsub ^refs/heads/ [lindex $spec 2] {} newbranch]} {
|
||||||
@ -137,7 +137,7 @@ method _create {} {
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $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
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -150,7 +150,7 @@ method _create {} {
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $w \
|
-parent $w \
|
||||||
-message "Please supply a branch name."
|
-message [mc "Please supply a branch name."]
|
||||||
focus $w_name
|
focus $w_name
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -161,7 +161,7 @@ method _create {} {
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $w \
|
-parent $w \
|
||||||
-message "'$newbranch' is not an acceptable branch name."
|
-message [mc "'%s' is not an acceptable branch name." $newbranch]
|
||||||
focus $w_name
|
focus $w_name
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -12,29 +12,29 @@ constructor dialog {} {
|
|||||||
global current_branch
|
global current_branch
|
||||||
|
|
||||||
make_toplevel top w
|
make_toplevel top w
|
||||||
wm title $top "[appname] ([reponame]): Delete Branch"
|
wm title $top [append "[appname] ([reponame]): " [mc "Delete Branch"]]
|
||||||
if {$top ne {.}} {
|
if {$top ne {.}} {
|
||||||
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
|
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
|
pack $w.header -side top -fill x
|
||||||
|
|
||||||
frame $w.buttons
|
frame $w.buttons
|
||||||
set w_delete $w.buttons.delete
|
set w_delete $w.buttons.delete
|
||||||
button $w_delete \
|
button $w_delete \
|
||||||
-text Delete \
|
-text [mc Delete] \
|
||||||
-default active \
|
-default active \
|
||||||
-state disabled \
|
-state disabled \
|
||||||
-command [cb _delete]
|
-command [cb _delete]
|
||||||
pack $w_delete -side right
|
pack $w_delete -side right
|
||||||
button $w.buttons.cancel \
|
button $w.buttons.cancel \
|
||||||
-text {Cancel} \
|
-text [mc Cancel] \
|
||||||
-command [list destroy $w]
|
-command [list destroy $w]
|
||||||
pack $w.buttons.cancel -side right -padx 5
|
pack $w.buttons.cancel -side right -padx 5
|
||||||
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
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
|
set w_heads $w.list.l
|
||||||
listbox $w_heads \
|
listbox $w_heads \
|
||||||
-height 10 \
|
-height 10 \
|
||||||
@ -49,9 +49,9 @@ constructor dialog {} {
|
|||||||
|
|
||||||
set w_check [choose_rev::new \
|
set w_check [choose_rev::new \
|
||||||
$w.check \
|
$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
|
pack $w.check -anchor nw -fill x -pady 5 -padx 5
|
||||||
|
|
||||||
foreach h [load_all_heads] {
|
foreach h [load_all_heads] {
|
||||||
@ -100,7 +100,7 @@ method _delete {} {
|
|||||||
lappend to_delete [list $b $o]
|
lappend to_delete [list $b $o]
|
||||||
}
|
}
|
||||||
if {$not_merged ne {}} {
|
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 - "]"
|
- [join $not_merged "\n - "]"
|
||||||
tk_messageBox \
|
tk_messageBox \
|
||||||
@ -112,9 +112,7 @@ method _delete {} {
|
|||||||
}
|
}
|
||||||
if {$to_delete eq {}} return
|
if {$to_delete eq {}} return
|
||||||
if {$check_cmt eq {}} {
|
if {$check_cmt eq {}} {
|
||||||
set msg {Recovering deleted branches is difficult.
|
set msg [mc "Recovering deleted branches is difficult. \n\n Delete the selected branches?"]
|
||||||
|
|
||||||
Delete the selected branches?}
|
|
||||||
if {[tk_messageBox \
|
if {[tk_messageBox \
|
||||||
-icon warning \
|
-icon warning \
|
||||||
-type yesno \
|
-type yesno \
|
||||||
@ -140,7 +138,7 @@ Delete the selected branches?}
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $w \
|
-parent $w \
|
||||||
-message "Failed to delete branches:\n$failed"
|
-message [mc "Failed to delete branches:\n%s" $failed]
|
||||||
}
|
}
|
||||||
|
|
||||||
destroy $w
|
destroy $w
|
||||||
|
@ -11,7 +11,7 @@ constructor dialog {} {
|
|||||||
global current_branch
|
global current_branch
|
||||||
|
|
||||||
make_toplevel top w
|
make_toplevel top w
|
||||||
wm title $top "[appname] ([reponame]): Rename Branch"
|
wm title $top [append "[appname] ([reponame]): " [mc "Rename Branch"]]
|
||||||
if {$top ne {.}} {
|
if {$top ne {.}} {
|
||||||
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
|
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
|
||||||
}
|
}
|
||||||
@ -19,24 +19,24 @@ constructor dialog {} {
|
|||||||
set oldname $current_branch
|
set oldname $current_branch
|
||||||
set newname [get_config gui.newbranchtemplate]
|
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
|
pack $w.header -side top -fill x
|
||||||
|
|
||||||
frame $w.buttons
|
frame $w.buttons
|
||||||
button $w.buttons.rename -text Rename \
|
button $w.buttons.rename -text [mc Rename] \
|
||||||
-default active \
|
-default active \
|
||||||
-command [cb _rename]
|
-command [cb _rename]
|
||||||
pack $w.buttons.rename -side right
|
pack $w.buttons.rename -side right
|
||||||
button $w.buttons.cancel -text {Cancel} \
|
button $w.buttons.cancel -text [mc Cancel] \
|
||||||
-command [list destroy $w]
|
-command [list destroy $w]
|
||||||
pack $w.buttons.cancel -side right -padx 5
|
pack $w.buttons.cancel -side right -padx 5
|
||||||
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
||||||
|
|
||||||
frame $w.rename
|
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]
|
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 \
|
entry $w.rename.newname_t \
|
||||||
-borderwidth 1 \
|
-borderwidth 1 \
|
||||||
-relief sunken \
|
-relief sunken \
|
||||||
@ -72,7 +72,7 @@ method _rename {} {
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $w \
|
-parent $w \
|
||||||
-message "Please select a branch to rename."
|
-message [mc "Please select a branch to rename."]
|
||||||
focus $w.rename.oldname_m
|
focus $w.rename.oldname_m
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -83,7 +83,7 @@ method _rename {} {
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $w \
|
-parent $w \
|
||||||
-message "Please supply a branch name."
|
-message [mc "Please supply a branch name."]
|
||||||
focus $w.rename.newname_t
|
focus $w.rename.newname_t
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -93,7 +93,7 @@ method _rename {} {
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $w \
|
-parent $w \
|
||||||
-message "Branch '$newname' already exists."
|
-message [mc "Branch '%s' already exists." $newname]
|
||||||
focus $w.rename.newname_t
|
focus $w.rename.newname_t
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -103,7 +103,7 @@ method _rename {} {
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $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
|
focus $w.rename.newname_t
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -114,7 +114,7 @@ method _rename {} {
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $w \
|
-parent $w \
|
||||||
-message "Failed to rename '$oldname'.\n\n$err"
|
-message [append [mc "Failed to rename '%s'." $oldname] "\n\n$err"]
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -14,7 +14,7 @@ field w
|
|||||||
field browser_commit
|
field browser_commit
|
||||||
field browser_path
|
field browser_path
|
||||||
field browser_files {}
|
field browser_files {}
|
||||||
field browser_status {Starting...}
|
field browser_status [mc "Starting..."]
|
||||||
field browser_stack {}
|
field browser_stack {}
|
||||||
field browser_busy 1
|
field browser_busy 1
|
||||||
|
|
||||||
@ -23,7 +23,7 @@ field ls_buf {}; # Buffered record output from ls-tree
|
|||||||
constructor new {commit {path {}}} {
|
constructor new {commit {path {}}} {
|
||||||
global cursor_ptr M1B
|
global cursor_ptr M1B
|
||||||
make_toplevel top w
|
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_commit $commit
|
||||||
set browser_path $browser_commit:$path
|
set browser_path $browser_commit:$path
|
||||||
@ -124,7 +124,7 @@ method _parent {} {
|
|||||||
} else {
|
} else {
|
||||||
regsub {/[^/]+$} $browser_path {} browser_path
|
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]
|
_ls $this [lindex $parent 0] [lindex $parent 1]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -141,7 +141,7 @@ method _enter {} {
|
|||||||
tree {
|
tree {
|
||||||
set name [lindex $info 2]
|
set name [lindex $info 2]
|
||||||
set escn [escape_path $name]
|
set escn [escape_path $name]
|
||||||
set browser_status "Loading $escn..."
|
set browser_status [mc "Loading %s..." $escn]
|
||||||
append browser_path $escn
|
append browser_path $escn
|
||||||
_ls $this [lindex $info 1] $name
|
_ls $this [lindex $info 1] $name
|
||||||
}
|
}
|
||||||
@ -185,7 +185,7 @@ method _ls {tree_id {name {}}} {
|
|||||||
-align center -padx 5 -pady 1 \
|
-align center -padx 5 -pady 1 \
|
||||||
-name icon0 \
|
-name icon0 \
|
||||||
-image ::browser::img_parent
|
-image ::browser::img_parent
|
||||||
$w insert end {[Up To Parent]}
|
$w insert end [mc "\[Up To Parent\]"]
|
||||||
lappend browser_files parent
|
lappend browser_files parent
|
||||||
}
|
}
|
||||||
lappend browser_stack [list $tree_id $name]
|
lappend browser_stack [list $tree_id $name]
|
||||||
@ -244,7 +244,7 @@ method _read {fd} {
|
|||||||
|
|
||||||
if {[eof $fd]} {
|
if {[eof $fd]} {
|
||||||
close $fd
|
close $fd
|
||||||
set browser_status Ready.
|
set browser_status [mc "Ready."]
|
||||||
set browser_busy 0
|
set browser_busy 0
|
||||||
set ls_buf {}
|
set ls_buf {}
|
||||||
if {$n > 0} {
|
if {$n > 0} {
|
||||||
@ -265,27 +265,27 @@ field w_rev ; # mega-widget to pick the initial revision
|
|||||||
|
|
||||||
constructor dialog {} {
|
constructor dialog {} {
|
||||||
make_toplevel top w
|
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 {.}} {
|
if {$top ne {.}} {
|
||||||
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
|
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
|
||||||
}
|
}
|
||||||
|
|
||||||
label $w.header \
|
label $w.header \
|
||||||
-text {Browse Branch Files} \
|
-text [mc "Browse Branch Files"] \
|
||||||
-font font_uibold
|
-font font_uibold
|
||||||
pack $w.header -side top -fill x
|
pack $w.header -side top -fill x
|
||||||
|
|
||||||
frame $w.buttons
|
frame $w.buttons
|
||||||
button $w.buttons.browse -text Browse \
|
button $w.buttons.browse -text [mc Browse] \
|
||||||
-default active \
|
-default active \
|
||||||
-command [cb _open]
|
-command [cb _open]
|
||||||
pack $w.buttons.browse -side right
|
pack $w.buttons.browse -side right
|
||||||
button $w.buttons.cancel -text {Cancel} \
|
button $w.buttons.cancel -text [mc Cancel] \
|
||||||
-command [list destroy $w]
|
-command [list destroy $w]
|
||||||
pack $w.buttons.cancel -side right -padx 5
|
pack $w.buttons.cancel -side right -padx 5
|
||||||
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
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 <Double-Button-1> [cb _open]
|
$w_rev bind_listbox <Double-Button-1> [cb _open]
|
||||||
pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5
|
pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5
|
||||||
|
|
||||||
|
@ -76,7 +76,7 @@ method run {} {
|
|||||||
_toplevel $this {Refreshing Tracking Branch}
|
_toplevel $this {Refreshing Tracking Branch}
|
||||||
set w_cons [::console::embed \
|
set w_cons [::console::embed \
|
||||||
$w.console \
|
$w.console \
|
||||||
"Fetching $r_name from $remote"]
|
[mc "Fetching %s from %s" $r_name $remote]]
|
||||||
pack $w.console -fill both -expand 1
|
pack $w.console -fill both -expand 1
|
||||||
$w_cons exec $cmd [cb _finish_fetch]
|
$w_cons exec $cmd [cb _finish_fetch]
|
||||||
|
|
||||||
@ -137,7 +137,7 @@ method _finish_fetch {ok} {
|
|||||||
destroy $w
|
destroy $w
|
||||||
set w {}
|
set w {}
|
||||||
} else {
|
} 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
|
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.
|
# Assume it does not exist, and that is what the error was.
|
||||||
#
|
#
|
||||||
if {!$create} {
|
if {!$create} {
|
||||||
_error $this "Branch '$newbranch' does not exist."
|
_error $this [mc "Branch '%s' does not exist." $newbranch]
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -176,7 +176,7 @@ method _update_ref {} {
|
|||||||
# We were told to create it, but not do a merge.
|
# We were told to create it, but not do a merge.
|
||||||
# Bad. Name shouldn't have existed.
|
# Bad. Name shouldn't have existed.
|
||||||
#
|
#
|
||||||
_error $this "Branch '$newbranch' already exists."
|
_error $this [mc "Branch '%s' already exists." $newbranch]
|
||||||
return 0
|
return 0
|
||||||
} elseif {!$create && $merge_type eq {none}} {
|
} elseif {!$create && $merge_type eq {none}} {
|
||||||
# We aren't creating, it exists and we don't merge.
|
# We aren't creating, it exists and we don't merge.
|
||||||
@ -203,7 +203,7 @@ method _update_ref {} {
|
|||||||
set new $cur
|
set new $cur
|
||||||
set new_hash $cur
|
set new_hash $cur
|
||||||
} else {
|
} 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
|
return 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -217,7 +217,7 @@ method _update_ref {} {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
default {
|
default {
|
||||||
_error $this "Merge strategy '$merge_type' not supported."
|
_error $this [mc "Merge strategy '%s' not supported." $merge_type]
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -236,7 +236,7 @@ method _update_ref {} {
|
|||||||
if {[catch {
|
if {[catch {
|
||||||
git update-ref -m $reflog_msg $ref $new $cur
|
git update-ref -m $reflog_msg $ref $new $cur
|
||||||
} err]} {
|
} err]} {
|
||||||
_error $this "Failed to update '$newbranch'.\n\n$err"
|
_error $this [append [mc "Failed to update '%s'." $newbranch] "\n\n$err"]
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -248,7 +248,7 @@ method _checkout {} {
|
|||||||
if {[lock_index checkout_op]} {
|
if {[lock_index checkout_op]} {
|
||||||
after idle [cb _start_checkout]
|
after idle [cb _start_checkout]
|
||||||
} else {
|
} else {
|
||||||
_error $this "Staging area (index) is already locked."
|
_error $this [mc "Staging area (index) is already locked."]
|
||||||
delete_this
|
delete_this
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -263,12 +263,12 @@ method _start_checkout {} {
|
|||||||
&& $curType eq {normal}
|
&& $curType eq {normal}
|
||||||
&& $curHEAD eq $HEAD} {
|
&& $curHEAD eq $HEAD} {
|
||||||
} elseif {$commit_type ne $curType || $HEAD ne $curHEAD} {
|
} 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.
|
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.
|
The rescan will be automatically started now.
|
||||||
}
|
"]
|
||||||
unlock_index
|
unlock_index
|
||||||
rescan ui_ready
|
rescan ui_ready
|
||||||
delete_this
|
delete_this
|
||||||
@ -350,12 +350,12 @@ method _readtree_wait {fd} {
|
|||||||
if {[catch {close $fd}]} {
|
if {[catch {close $fd}]} {
|
||||||
set err $readtree_d
|
set err $readtree_d
|
||||||
regsub {^fatal: } $err {} err
|
regsub {^fatal: } $err {} err
|
||||||
$::main_status stop "Aborted checkout of '[_name $this]' (file level merging is required)."
|
$::main_status stop [mc "Aborted checkout of '%s' (file level merging is required)." [_name $this]]
|
||||||
warn_popup "File level merge required.
|
warn_popup [append [mc "File level merge required."] "
|
||||||
|
|
||||||
$err
|
$err
|
||||||
|
|
||||||
Staying on branch '$current_branch'."
|
" [mc "Staying on branch '%s'." $current_branch]]
|
||||||
unlock_index
|
unlock_index
|
||||||
delete_this
|
delete_this
|
||||||
return
|
return
|
||||||
@ -426,9 +426,9 @@ method _after_readtree {} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if {$is_detached} {
|
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
|
# -- Update our repository state. If we were previously in
|
||||||
@ -475,7 +475,7 @@ method _confirm_reset {cur} {
|
|||||||
pack [label $w.msg1 \
|
pack [label $w.msg1 \
|
||||||
-anchor w \
|
-anchor w \
|
||||||
-justify left \
|
-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
|
] -anchor w
|
||||||
|
|
||||||
set list $w.list.l
|
set list $w.list.l
|
||||||
@ -497,21 +497,21 @@ method _confirm_reset {cur} {
|
|||||||
pack [label $w.msg2 \
|
pack [label $w.msg2 \
|
||||||
-anchor w \
|
-anchor w \
|
||||||
-justify left \
|
-justify left \
|
||||||
-text {Recovering lost commits may not be easy.} \
|
-text [mc "Recovering lost commits may not be easy."] \
|
||||||
]
|
]
|
||||||
pack [label $w.msg3 \
|
pack [label $w.msg3 \
|
||||||
-anchor w \
|
-anchor w \
|
||||||
-justify left \
|
-justify left \
|
||||||
-text "Reset '$name'?" \
|
-text [mc "Reset '%s'?" $name] \
|
||||||
]
|
]
|
||||||
|
|
||||||
frame $w.buttons
|
frame $w.buttons
|
||||||
button $w.buttons.visualize \
|
button $w.buttons.visualize \
|
||||||
-text Visualize \
|
-text [mc Visualize] \
|
||||||
-command $gitk
|
-command $gitk
|
||||||
pack $w.buttons.visualize -side left
|
pack $w.buttons.visualize -side left
|
||||||
button $w.buttons.reset \
|
button $w.buttons.reset \
|
||||||
-text Reset \
|
-text [mc Reset] \
|
||||||
-command "
|
-command "
|
||||||
set @reset_ok 1
|
set @reset_ok 1
|
||||||
destroy $w
|
destroy $w
|
||||||
@ -519,7 +519,7 @@ method _confirm_reset {cur} {
|
|||||||
pack $w.buttons.reset -side right
|
pack $w.buttons.reset -side right
|
||||||
button $w.buttons.cancel \
|
button $w.buttons.cancel \
|
||||||
-default active \
|
-default active \
|
||||||
-text Cancel \
|
-text [mc Cancel] \
|
||||||
-command [list destroy $w]
|
-command [list destroy $w]
|
||||||
pack $w.buttons.cancel -side right -padx 5
|
pack $w.buttons.cancel -side right -padx 5
|
||||||
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
||||||
@ -575,13 +575,13 @@ method _toplevel {title} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
method _fatal {err} {
|
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 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
|
exit 1
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -50,14 +50,14 @@ constructor _new {path unmerged_only title} {
|
|||||||
if {$is_detached} {
|
if {$is_detached} {
|
||||||
radiobutton $w.detachedhead_r \
|
radiobutton $w.detachedhead_r \
|
||||||
-anchor w \
|
-anchor w \
|
||||||
-text {This Detached Checkout} \
|
-text [mc "This Detached Checkout"] \
|
||||||
-value HEAD \
|
-value HEAD \
|
||||||
-variable @revtype
|
-variable @revtype
|
||||||
grid $w.detachedhead_r -sticky we -padx {0 5} -columnspan 2
|
grid $w.detachedhead_r -sticky we -padx {0 5} -columnspan 2
|
||||||
}
|
}
|
||||||
|
|
||||||
radiobutton $w.expr_r \
|
radiobutton $w.expr_r \
|
||||||
-text {Revision Expression:} \
|
-text [mc "Revision Expression:"] \
|
||||||
-value expr \
|
-value expr \
|
||||||
-variable @revtype
|
-variable @revtype
|
||||||
entry $w.expr_t \
|
entry $w.expr_t \
|
||||||
@ -71,17 +71,17 @@ constructor _new {path unmerged_only title} {
|
|||||||
|
|
||||||
frame $w.types
|
frame $w.types
|
||||||
radiobutton $w.types.head_r \
|
radiobutton $w.types.head_r \
|
||||||
-text {Local Branch} \
|
-text [mc "Local Branch"] \
|
||||||
-value head \
|
-value head \
|
||||||
-variable @revtype
|
-variable @revtype
|
||||||
pack $w.types.head_r -side left
|
pack $w.types.head_r -side left
|
||||||
radiobutton $w.types.trck_r \
|
radiobutton $w.types.trck_r \
|
||||||
-text {Tracking Branch} \
|
-text [mc "Tracking Branch"] \
|
||||||
-value trck \
|
-value trck \
|
||||||
-variable @revtype
|
-variable @revtype
|
||||||
pack $w.types.trck_r -side left
|
pack $w.types.trck_r -side left
|
||||||
radiobutton $w.types.tag_r \
|
radiobutton $w.types.tag_r \
|
||||||
-text {Tag} \
|
-text [mc "Tag"] \
|
||||||
-value tag \
|
-value tag \
|
||||||
-variable @revtype
|
-variable @revtype
|
||||||
pack $w.types.tag_r -side left
|
pack $w.types.tag_r -side left
|
||||||
@ -314,7 +314,7 @@ method commit_or_die {} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
set top [winfo toplevel $w]
|
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 \
|
tk_messageBox \
|
||||||
-icon error \
|
-icon error \
|
||||||
-type ok \
|
-type ok \
|
||||||
@ -335,7 +335,7 @@ method _expr {} {
|
|||||||
if {$i ne {}} {
|
if {$i ne {}} {
|
||||||
return [lindex $cur_specs $i 1]
|
return [lindex $cur_specs $i 1]
|
||||||
} else {
|
} else {
|
||||||
error "No revision selected."
|
error [mc "No revision selected."]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -343,7 +343,7 @@ method _expr {} {
|
|||||||
if {$c_expr ne {}} {
|
if {$c_expr ne {}} {
|
||||||
return $c_expr
|
return $c_expr
|
||||||
} else {
|
} else {
|
||||||
error "Revision expression is empty."
|
error [mc "Revision expression is empty."]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
HEAD { return HEAD }
|
HEAD { return HEAD }
|
||||||
|
@ -6,19 +6,19 @@ proc load_last_commit {} {
|
|||||||
global repo_config
|
global repo_config
|
||||||
|
|
||||||
if {[llength $PARENT] == 0} {
|
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.
|
You are about to create the initial commit. There is no commit before this to amend.
|
||||||
}
|
"]
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
repository_state curType curHEAD curMERGE_HEAD
|
repository_state curType curHEAD curMERGE_HEAD
|
||||||
if {$curType eq {merge}} {
|
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.
|
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
|
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]
|
set msg [string trim $msg]
|
||||||
} err]} {
|
} 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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -73,12 +73,12 @@ proc committer_ident {} {
|
|||||||
|
|
||||||
if {$GIT_COMMITTER_IDENT eq {}} {
|
if {$GIT_COMMITTER_IDENT eq {}} {
|
||||||
if {[catch {set me [git var GIT_COMMITTER_IDENT]} err]} {
|
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 {}
|
return {}
|
||||||
}
|
}
|
||||||
if {![regexp {^(.*) [0-9]+ [-+0-9]+$} \
|
if {![regexp {^(.*) [0-9]+ [-+0-9]+$} \
|
||||||
$me me GIT_COMMITTER_IDENT]} {
|
$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 {}
|
return {}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -130,12 +130,12 @@ proc commit_tree {} {
|
|||||||
&& $curType eq {normal}
|
&& $curType eq {normal}
|
||||||
&& $curHEAD eq $HEAD} {
|
&& $curHEAD eq $HEAD} {
|
||||||
} elseif {$commit_type ne $curType || $HEAD ne $curHEAD} {
|
} 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.
|
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.
|
The rescan will be automatically started now.
|
||||||
}
|
"]
|
||||||
unlock_index
|
unlock_index
|
||||||
rescan ui_ready
|
rescan ui_ready
|
||||||
return
|
return
|
||||||
@ -151,26 +151,26 @@ The rescan will be automatically started now.
|
|||||||
D? -
|
D? -
|
||||||
M? {set files_ready 1}
|
M? {set files_ready 1}
|
||||||
U? {
|
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
|
unlock_index
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
default {
|
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]} {
|
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.
|
You must stage at least 1 file before you can commit.
|
||||||
}
|
"]
|
||||||
unlock_index
|
unlock_index
|
||||||
return
|
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]]
|
set msg [string trim [$ui_comm get 1.0 end]]
|
||||||
regsub -all -line {[ \t\r]+$} $msg {} msg
|
regsub -all -line {[ \t\r]+$} $msg {} msg
|
||||||
if {$msg eq {}} {
|
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:
|
A good commit message has the following format:
|
||||||
|
|
||||||
- First line: Describe in one sentance what you did.
|
- First line: Describe in one sentance what you did.
|
||||||
- Second line: Blank
|
- Second line: Blank
|
||||||
- Remaining lines: Describe why this change is good.
|
- Remaining lines: Describe why this change is good.
|
||||||
}
|
"]
|
||||||
unlock_index
|
unlock_index
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
@ -254,7 +254,7 @@ proc commit_committree {fd_wt curHEAD msg} {
|
|||||||
|
|
||||||
gets $fd_wt tree_id
|
gets $fd_wt tree_id
|
||||||
if {$tree_id eq {} || [catch {close $fd_wt} err]} {
|
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.}
|
ui_status {Commit failed.}
|
||||||
unlock_index
|
unlock_index
|
||||||
return
|
return
|
||||||
@ -276,14 +276,14 @@ proc commit_committree {fd_wt curHEAD msg} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
if {$tree_id eq $old_tree} {
|
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.
|
No files were modified by this commit and it was not a merge commit.
|
||||||
|
|
||||||
A rescan will be automatically started now.
|
A rescan will be automatically started now.
|
||||||
}
|
"]
|
||||||
unlock_index
|
unlock_index
|
||||||
rescan {ui_status {No changes to commit.}}
|
rescan {ui_status [mc "No changes to commit."]}
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -314,7 +314,7 @@ A rescan will be automatically started now.
|
|||||||
}
|
}
|
||||||
lappend cmd <$msg_p
|
lappend cmd <$msg_p
|
||||||
if {[catch {set cmt_id [eval git $cmd]} err]} {
|
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.}
|
ui_status {Commit failed.}
|
||||||
unlock_index
|
unlock_index
|
||||||
return
|
return
|
||||||
@ -336,7 +336,7 @@ A rescan will be automatically started now.
|
|||||||
if {[catch {
|
if {[catch {
|
||||||
git update-ref -m $reflogm HEAD $cmt_id $curHEAD
|
git update-ref -m $reflogm HEAD $cmt_id $curHEAD
|
||||||
} err]} {
|
} err]} {
|
||||||
error_popup "update-ref failed:\n\n$err"
|
error_popup [append [mc "update-ref failed:"] "\n\n$err"]
|
||||||
ui_status {Commit failed.}
|
ui_status {Commit failed.}
|
||||||
unlock_index
|
unlock_index
|
||||||
return
|
return
|
||||||
@ -427,5 +427,5 @@ A rescan will be automatically started now.
|
|||||||
display_all_files
|
display_all_files
|
||||||
unlock_index
|
unlock_index
|
||||||
reshow_diff
|
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]
|
||||||
}
|
}
|
||||||
|
@ -52,7 +52,7 @@ method _init {} {
|
|||||||
-state disabled \
|
-state disabled \
|
||||||
-xscrollcommand [list $w.m.sbx set] \
|
-xscrollcommand [list $w.m.sbx set] \
|
||||||
-yscrollcommand [list $w.m.sby 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 \
|
-anchor w \
|
||||||
-justify left \
|
-justify left \
|
||||||
-font font_uibold
|
-font font_uibold
|
||||||
@ -66,11 +66,11 @@ method _init {} {
|
|||||||
pack $w.m -side top -fill both -expand 1 -padx 5 -pady 10
|
pack $w.m -side top -fill both -expand 1 -padx 5 -pady 10
|
||||||
|
|
||||||
menu $w.ctxm -tearoff 0
|
menu $w.ctxm -tearoff 0
|
||||||
$w.ctxm add command -label "Copy" \
|
$w.ctxm add command -label [mc "Copy"] \
|
||||||
-command "tk_textCopy $w.m.t"
|
-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"
|
-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 "
|
-command "
|
||||||
$w.m.t tag add sel 0.0 end
|
$w.m.t tag add sel 0.0 end
|
||||||
tk_textCopy $w.m.t
|
tk_textCopy $w.m.t
|
||||||
@ -78,7 +78,7 @@ method _init {} {
|
|||||||
"
|
"
|
||||||
|
|
||||||
if {$is_toplevel} {
|
if {$is_toplevel} {
|
||||||
button $w.ok -text {Close} \
|
button $w.ok -text [mc "Close"] \
|
||||||
-state disabled \
|
-state disabled \
|
||||||
-command [list destroy $w]
|
-command [list destroy $w]
|
||||||
pack $w.ok -side bottom -anchor e -pady 10 -padx 10
|
pack $w.ok -side bottom -anchor e -pady 10 -padx 10
|
||||||
@ -181,7 +181,7 @@ method insert {txt} {
|
|||||||
method done {ok} {
|
method done {ok} {
|
||||||
if {$ok} {
|
if {$ok} {
|
||||||
if {[winfo exists $w.m.s]} {
|
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} {
|
if {$is_toplevel} {
|
||||||
$w.ok conf -state normal
|
$w.ok conf -state normal
|
||||||
focus $w.ok
|
focus $w.ok
|
||||||
@ -191,7 +191,7 @@ method done {ok} {
|
|||||||
if {![winfo exists $w.m.s]} {
|
if {![winfo exists $w.m.s]} {
|
||||||
_init $this
|
_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} {
|
if {$is_toplevel} {
|
||||||
$w.ok conf -state normal
|
$w.ok conf -state normal
|
||||||
focus $w.ok
|
focus $w.ok
|
||||||
|
@ -24,14 +24,14 @@ proc do_stats {} {
|
|||||||
toplevel $w
|
toplevel $w
|
||||||
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
|
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
|
pack $w.header -side top -fill x
|
||||||
|
|
||||||
frame $w.buttons -border 1
|
frame $w.buttons -border 1
|
||||||
button $w.buttons.close -text Close \
|
button $w.buttons.close -text [mc Close] \
|
||||||
-default active \
|
-default active \
|
||||||
-command [list destroy $w]
|
-command [list destroy $w]
|
||||||
button $w.buttons.gc -text {Compress Database} \
|
button $w.buttons.gc -text [mc "Compress Database"] \
|
||||||
-default normal \
|
-default normal \
|
||||||
-command "destroy $w;do_gc"
|
-command "destroy $w;do_gc"
|
||||||
pack $w.buttons.close -side right
|
pack $w.buttons.close -side right
|
||||||
@ -40,16 +40,16 @@ proc do_stats {} {
|
|||||||
|
|
||||||
frame $w.stat -borderwidth 1 -relief solid
|
frame $w.stat -borderwidth 1 -relief solid
|
||||||
foreach s {
|
foreach s {
|
||||||
{count {Number of loose objects}}
|
{count {mc "Number of loose objects"}}
|
||||||
{size {Disk space used by loose objects} { KiB}}
|
{size {mc "Disk space used by loose objects"} { KiB}}
|
||||||
{in-pack {Number of packed objects}}
|
{in-pack {mc "Number of packed objects"}}
|
||||||
{packs {Number of packs}}
|
{packs {mc "Number of packs"}}
|
||||||
{size-pack {Disk space used by packed objects} { KiB}}
|
{size-pack {mc "Disk space used by packed objects"} { KiB}}
|
||||||
{prune-packable {Packed objects waiting for pruning}}
|
{prune-packable {mc "Packed objects waiting for pruning"}}
|
||||||
{garbage {Garbage files}}
|
{garbage {mc "Garbage files"}}
|
||||||
} {
|
} {
|
||||||
set name [lindex $s 0]
|
set name [lindex $s 0]
|
||||||
set label [lindex $s 1]
|
set label [eval [lindex $s 1]]
|
||||||
if {[catch {set value $stats($name)}]} continue
|
if {[catch {set value $stats($name)}]} continue
|
||||||
if {[llength $s] > 2} {
|
if {[llength $s] > 2} {
|
||||||
set value "$value[lindex $s 2]"
|
set value "$value[lindex $s 2]"
|
||||||
@ -64,12 +64,12 @@ proc do_stats {} {
|
|||||||
bind $w <Visibility> "grab $w; focus $w.buttons.close"
|
bind $w <Visibility> "grab $w; focus $w.buttons.close"
|
||||||
bind $w <Key-Escape> [list destroy $w]
|
bind $w <Key-Escape> [list destroy $w]
|
||||||
bind $w <Key-Return> [list destroy $w]
|
bind $w <Key-Return> [list destroy $w]
|
||||||
wm title $w "[appname] ([reponame]): Database Statistics"
|
wm title $w [append "[appname] ([reponame]): " [mc "Database Statistics"]]
|
||||||
tkwait window $w
|
tkwait window $w
|
||||||
}
|
}
|
||||||
|
|
||||||
proc do_gc {} {
|
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 {
|
console::chain $w {
|
||||||
{exec git pack-refs --prune}
|
{exec git pack-refs --prune}
|
||||||
{exec git reflog expire --all}
|
{exec git reflog expire --all}
|
||||||
@ -80,7 +80,7 @@ proc do_gc {} {
|
|||||||
|
|
||||||
proc do_fsck_objects {} {
|
proc do_fsck_objects {} {
|
||||||
set w [console::new {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]
|
set cmd [list git fsck-objects]
|
||||||
lappend cmd --full
|
lappend cmd --full
|
||||||
lappend cmd --cache
|
lappend cmd --cache
|
||||||
|
16
lib/diff.tcl
16
lib/diff.tcl
@ -39,13 +39,13 @@ proc handle_empty_diff {} {
|
|||||||
set s $file_states($path)
|
set s $file_states($path)
|
||||||
if {[lindex $s 0] ne {_M}} return
|
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.
|
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
|
clear_diff
|
||||||
display_file $path __
|
display_file $path __
|
||||||
@ -94,7 +94,7 @@ proc show_diff {path w {lno {}}} {
|
|||||||
set diff_active 0
|
set diff_active 0
|
||||||
unlock_index
|
unlock_index
|
||||||
ui_status "Unable to display [escape_path $path]"
|
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
|
return
|
||||||
}
|
}
|
||||||
$ui_diff conf -state normal
|
$ui_diff conf -state normal
|
||||||
@ -159,7 +159,7 @@ proc show_diff {path w {lno {}}} {
|
|||||||
set diff_active 0
|
set diff_active 0
|
||||||
unlock_index
|
unlock_index
|
||||||
ui_status "Unable to display [escape_path $path]"
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -275,14 +275,14 @@ proc apply_hunk {x y} {
|
|||||||
set apply_cmd {apply --cached --whitespace=nowarn}
|
set apply_cmd {apply --cached --whitespace=nowarn}
|
||||||
set mi [lindex $file_states($current_diff_path) 0]
|
set mi [lindex $file_states($current_diff_path) 0]
|
||||||
if {$current_diff_side eq $ui_index} {
|
if {$current_diff_side eq $ui_index} {
|
||||||
set mode unstage
|
set failed_msg [mc "Failed to unstage selected hunk."]
|
||||||
lappend apply_cmd --reverse
|
lappend apply_cmd --reverse
|
||||||
if {[string index $mi 0] ne {M}} {
|
if {[string index $mi 0] ne {M}} {
|
||||||
unlock_index
|
unlock_index
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
set mode stage
|
set failed_msg [mc "Failed to stage selected hunk."]
|
||||||
if {[string index $mi 1] ne {M}} {
|
if {[string index $mi 1] ne {M}} {
|
||||||
unlock_index
|
unlock_index
|
||||||
return
|
return
|
||||||
@ -307,7 +307,7 @@ proc apply_hunk {x y} {
|
|||||||
puts -nonewline $p $current_diff_header
|
puts -nonewline $p $current_diff_header
|
||||||
puts -nonewline $p [$ui_diff get $s_lno $e_lno]
|
puts -nonewline $p [$ui_diff get $s_lno $e_lno]
|
||||||
close $p} err]} {
|
close $p} err]} {
|
||||||
error_popup "Failed to $mode selected hunk.\n\n$err"
|
error_popup [append $failed_msg "\n\n$err"]
|
||||||
unlock_index
|
unlock_index
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
@ -9,7 +9,7 @@ proc error_popup {msg} {
|
|||||||
set cmd [list tk_messageBox \
|
set cmd [list tk_messageBox \
|
||||||
-icon error \
|
-icon error \
|
||||||
-type ok \
|
-type ok \
|
||||||
-title "$title: error" \
|
-title [append "$title: " [mc "error"]] \
|
||||||
-message $msg]
|
-message $msg]
|
||||||
if {[winfo ismapped .]} {
|
if {[winfo ismapped .]} {
|
||||||
lappend cmd -parent .
|
lappend cmd -parent .
|
||||||
@ -25,7 +25,7 @@ proc warn_popup {msg} {
|
|||||||
set cmd [list tk_messageBox \
|
set cmd [list tk_messageBox \
|
||||||
-icon warning \
|
-icon warning \
|
||||||
-type ok \
|
-type ok \
|
||||||
-title "$title: warning" \
|
-title [append "$title: " [mc "warning"]] \
|
||||||
-message $msg]
|
-message $msg]
|
||||||
if {[winfo ismapped .]} {
|
if {[winfo ismapped .]} {
|
||||||
lappend cmd -parent .
|
lappend cmd -parent .
|
||||||
@ -78,7 +78,7 @@ proc hook_failed_popup {hook msg} {
|
|||||||
-font font_diff \
|
-font font_diff \
|
||||||
-yscrollcommand [list $w.m.sby set]
|
-yscrollcommand [list $w.m.sby set]
|
||||||
label $w.m.l2 \
|
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 \
|
-anchor w \
|
||||||
-justify left \
|
-justify left \
|
||||||
-font font_uibold
|
-font font_uibold
|
||||||
@ -99,6 +99,6 @@ proc hook_failed_popup {hook msg} {
|
|||||||
|
|
||||||
bind $w <Visibility> "grab $w; focus $w"
|
bind $w <Visibility> "grab $w; focus $w"
|
||||||
bind $w <Key-Return> "destroy $w"
|
bind $w <Key-Return> "destroy $w"
|
||||||
wm title $w "[appname] ([reponame]): error"
|
wm title $w [append "[appname] ([reponame]): " [mc "error"]]
|
||||||
tkwait window $w
|
tkwait window $w
|
||||||
}
|
}
|
||||||
|
@ -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]
|
set n [llength $pathList]
|
||||||
if {$n == 0} {
|
if {$n == 0} {
|
||||||
unlock_index
|
unlock_index
|
||||||
return
|
return
|
||||||
} elseif {$n == 1} {
|
} elseif {$n == 1} {
|
||||||
set s "[short_path [lindex $pathList]]"
|
set query [mc "Revert changes in file %s?" [short_path [lindex $pathList]]]
|
||||||
} else {
|
} else {
|
||||||
set s "these $n files"
|
set query [mc "Revert changes in these %i files?" $n]
|
||||||
}
|
}
|
||||||
|
|
||||||
set reply [tk_dialog \
|
set reply [tk_dialog \
|
||||||
.confirm_revert \
|
.confirm_revert \
|
||||||
"[appname] ([reponame])" \
|
"[appname] ([reponame])" \
|
||||||
"Revert changes in $s?
|
[mc "Any unstaged changes will be permanently lost by the revert."] \
|
||||||
|
|
||||||
Any unstaged changes will be permanently lost by the revert." \
|
|
||||||
question \
|
question \
|
||||||
1 \
|
1 \
|
||||||
{Do Nothing} \
|
[mc "Do Nothing"] \
|
||||||
{Revert Changes} \
|
[mc "Revert Changes"] \
|
||||||
]
|
]
|
||||||
if {$reply == 1} {
|
if {$reply == 1} {
|
||||||
checkout_index \
|
checkout_index \
|
||||||
|
@ -10,10 +10,10 @@ method _can_merge {} {
|
|||||||
global HEAD commit_type file_states
|
global HEAD commit_type file_states
|
||||||
|
|
||||||
if {[string match amend* $commit_type]} {
|
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.
|
You must finish amending this commit before starting any type of merge.
|
||||||
}
|
"]
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -24,12 +24,12 @@ You must finish amending this commit before starting any type of merge.
|
|||||||
#
|
#
|
||||||
repository_state curType curHEAD curMERGE_HEAD
|
repository_state curType curHEAD curMERGE_HEAD
|
||||||
if {$commit_type ne $curType || $HEAD ne $curHEAD} {
|
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.
|
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.
|
The rescan will be automatically started now.
|
||||||
}
|
"]
|
||||||
unlock_index
|
unlock_index
|
||||||
rescan ui_ready
|
rescan ui_ready
|
||||||
return 0
|
return 0
|
||||||
@ -41,22 +41,22 @@ The rescan will be automatically started now.
|
|||||||
continue; # and pray it works!
|
continue; # and pray it works!
|
||||||
}
|
}
|
||||||
U? {
|
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.
|
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
|
unlock_index
|
||||||
return 0
|
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.
|
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
|
unlock_index
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
@ -103,7 +103,7 @@ method _start {} {
|
|||||||
regsub {^[^:@]*@} $remote {} remote
|
regsub {^[^:@]*@} $remote {} remote
|
||||||
}
|
}
|
||||||
set branch [lindex $spec 2]
|
set branch [lindex $spec 2]
|
||||||
set stitle "$branch of $remote"
|
set stitle [mc "%s of %s" $branch $remote]
|
||||||
}
|
}
|
||||||
regsub ^refs/heads/ $branch {} branch
|
regsub ^refs/heads/ $branch {} branch
|
||||||
puts $fh "$cmit\t\tbranch '$branch' of $remote"
|
puts $fh "$cmit\t\tbranch '$branch' of $remote"
|
||||||
@ -116,9 +116,9 @@ method _start {} {
|
|||||||
lappend cmd HEAD
|
lappend cmd HEAD
|
||||||
lappend cmd $name
|
lappend cmd $name
|
||||||
|
|
||||||
set msg "Merging $current_branch and $stitle"
|
set msg [mc "Merging %s and %s" $current_branch $stitle]
|
||||||
ui_status "$msg..."
|
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]
|
console::exec $cons $cmd [cb _finish $cons]
|
||||||
|
|
||||||
wm protocol $w WM_DELETE_WINDOW {}
|
wm protocol $w WM_DELETE_WINDOW {}
|
||||||
@ -128,9 +128,9 @@ method _start {} {
|
|||||||
method _finish {cons ok} {
|
method _finish {cons ok} {
|
||||||
console::done $cons $ok
|
console::done $cons $ok
|
||||||
if {$ok} {
|
if {$ok} {
|
||||||
set msg {Merge completed successfully.}
|
set msg [mc "Merge completed successfully."]
|
||||||
} else {
|
} else {
|
||||||
set msg {Merge failed. Conflict resolution is required.}
|
set msg [mc "Merge failed. Conflict resolution is required."]
|
||||||
}
|
}
|
||||||
unlock_index
|
unlock_index
|
||||||
rescan [list ui_status $msg]
|
rescan [list ui_status $msg]
|
||||||
@ -147,7 +147,7 @@ constructor dialog {} {
|
|||||||
}
|
}
|
||||||
|
|
||||||
make_toplevel top w
|
make_toplevel top w
|
||||||
wm title $top "[appname] ([reponame]): Merge"
|
wm title $top [append "[appname] ([reponame]): " [mc "Merge"]]
|
||||||
if {$top ne {.}} {
|
if {$top ne {.}} {
|
||||||
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
|
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
|
||||||
}
|
}
|
||||||
@ -155,26 +155,26 @@ constructor dialog {} {
|
|||||||
set _start [cb _start]
|
set _start [cb _start]
|
||||||
|
|
||||||
label $w.header \
|
label $w.header \
|
||||||
-text "Merge Into $current_branch" \
|
-text [mc "Merge Into %s" $current_branch] \
|
||||||
-font font_uibold
|
-font font_uibold
|
||||||
pack $w.header -side top -fill x
|
pack $w.header -side top -fill x
|
||||||
|
|
||||||
frame $w.buttons
|
frame $w.buttons
|
||||||
button $w.buttons.visualize \
|
button $w.buttons.visualize \
|
||||||
-text Visualize \
|
-text [mc Visualize] \
|
||||||
-command [cb _visualize]
|
-command [cb _visualize]
|
||||||
pack $w.buttons.visualize -side left
|
pack $w.buttons.visualize -side left
|
||||||
button $w.buttons.merge \
|
button $w.buttons.merge \
|
||||||
-text Merge \
|
-text [mc Merge] \
|
||||||
-command $_start
|
-command $_start
|
||||||
pack $w.buttons.merge -side right
|
pack $w.buttons.merge -side right
|
||||||
button $w.buttons.cancel \
|
button $w.buttons.cancel \
|
||||||
-text {Cancel} \
|
-text [mc "Cancel"] \
|
||||||
-command [cb _cancel]
|
-command [cb _cancel]
|
||||||
pack $w.buttons.cancel -side right -padx 5
|
pack $w.buttons.cancel -side right -padx 5
|
||||||
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
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
|
pack $w.rev -anchor nw -fill both -expand 1 -pady 5 -padx 5
|
||||||
|
|
||||||
bind $w <$M1B-Key-Return> $_start
|
bind $w <$M1B-Key-Return> $_start
|
||||||
@ -209,34 +209,34 @@ proc reset_hard {} {
|
|||||||
global HEAD commit_type file_states
|
global HEAD commit_type file_states
|
||||||
|
|
||||||
if {[string match amend* $commit_type]} {
|
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.
|
You must finish amending this commit.
|
||||||
}
|
"]
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if {![lock_index abort]} return
|
if {![lock_index abort]} return
|
||||||
|
|
||||||
if {[string match *merge* $commit_type]} {
|
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.
|
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 {
|
} else {
|
||||||
set op_question "Reset changes?
|
set op_question [mc "Reset changes?
|
||||||
|
|
||||||
Resetting the changes will cause *ALL* uncommitted changes to be lost.
|
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}} {
|
if {[ask_popup $op_question] eq {yes}} {
|
||||||
set fd [git_read --stderr read-tree --reset -u -v HEAD]
|
set fd [git_read --stderr read-tree --reset -u -v HEAD]
|
||||||
fconfigure $fd -blocking 0 -translation binary
|
fconfigure $fd -blocking 0 -translation binary
|
||||||
fileevent $fd readable [namespace code [list _reset_wait $fd]]
|
fileevent $fd readable [namespace code [list _reset_wait $fd]]
|
||||||
$::main_status start {Aborting} {files reset}
|
$::main_status start [mc "Aborting"] {files reset}
|
||||||
} else {
|
} else {
|
||||||
unlock_index
|
unlock_index
|
||||||
}
|
}
|
||||||
@ -263,9 +263,9 @@ proc _reset_wait {fd} {
|
|||||||
catch {file delete [gitdir GITGUI_MSG]}
|
catch {file delete [gitdir GITGUI_MSG]}
|
||||||
|
|
||||||
if {$fail} {
|
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 {
|
} else {
|
||||||
fconfigure $fd -blocking 0
|
fconfigure $fd -blocking 0
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ proc do_about {} {
|
|||||||
toplevel $w
|
toplevel $w
|
||||||
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
|
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
|
||||||
|
|
||||||
label $w.header -text "About [appname]" \
|
label $w.header -text [mc "About %s" [appname]] \
|
||||||
-font font_uibold
|
-font font_uibold
|
||||||
pack $w.header -side top -fill x
|
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
|
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
||||||
|
|
||||||
label $w.desc \
|
label $w.desc \
|
||||||
-text "git-gui - a graphical user interface for Git.
|
-text "[mc "git-gui - a graphical user interface for Git."]\n$copyright" \
|
||||||
$copyright" \
|
|
||||||
-padx 5 -pady 5 \
|
-padx 5 -pady 5 \
|
||||||
-justify left \
|
-justify left \
|
||||||
-anchor w \
|
-anchor w \
|
||||||
@ -157,48 +156,48 @@ proc do_options {} {
|
|||||||
toplevel $w
|
toplevel $w
|
||||||
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
|
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
|
||||||
|
|
||||||
label $w.header -text "Options" \
|
label $w.header -text [mc "Options"] \
|
||||||
-font font_uibold
|
-font font_uibold
|
||||||
pack $w.header -side top -fill x
|
pack $w.header -side top -fill x
|
||||||
|
|
||||||
frame $w.buttons
|
frame $w.buttons
|
||||||
button $w.buttons.restore -text {Restore Defaults} \
|
button $w.buttons.restore -text [mc "Restore Defaults"] \
|
||||||
-default normal \
|
-default normal \
|
||||||
-command do_restore_defaults
|
-command do_restore_defaults
|
||||||
pack $w.buttons.restore -side left
|
pack $w.buttons.restore -side left
|
||||||
button $w.buttons.save -text Save \
|
button $w.buttons.save -text [mc Save] \
|
||||||
-default active \
|
-default active \
|
||||||
-command [list do_save_config $w]
|
-command [list do_save_config $w]
|
||||||
pack $w.buttons.save -side right
|
pack $w.buttons.save -side right
|
||||||
button $w.buttons.cancel -text {Cancel} \
|
button $w.buttons.cancel -text [mc "Cancel"] \
|
||||||
-default normal \
|
-default normal \
|
||||||
-command [list destroy $w]
|
-command [list destroy $w]
|
||||||
pack $w.buttons.cancel -side right -padx 5
|
pack $w.buttons.cancel -side right -padx 5
|
||||||
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
||||||
|
|
||||||
labelframe $w.repo -text "[reponame] Repository"
|
labelframe $w.repo -text [mc "%s Repository" [reponame]]
|
||||||
labelframe $w.global -text {Global (All Repositories)}
|
labelframe $w.global -text [mc "Global (All Repositories)"]
|
||||||
pack $w.repo -side left -fill both -expand 1 -pady 5 -padx 5
|
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
|
pack $w.global -side right -fill both -expand 1 -pady 5 -padx 5
|
||||||
|
|
||||||
set optid 0
|
set optid 0
|
||||||
foreach option {
|
foreach option {
|
||||||
{t user.name {User Name}}
|
{t user.name {mc "User Name"}}
|
||||||
{t user.email {Email Address}}
|
{t user.email {mc "Email Address"}}
|
||||||
|
|
||||||
{b merge.summary {Summarize Merge Commits}}
|
{b merge.summary {mc "Summarize Merge Commits"}}
|
||||||
{i-1..5 merge.verbosity {Merge Verbosity}}
|
{i-1..5 merge.verbosity {mc "Merge Verbosity"}}
|
||||||
{b merge.diffstat {Show Diffstat After Merge}}
|
{b merge.diffstat {mc "Show Diffstat After Merge"}}
|
||||||
|
|
||||||
{b gui.trustmtime {Trust File Modification Timestamps}}
|
{b gui.trustmtime {mc "Trust File Modification Timestamps"}}
|
||||||
{b gui.pruneduringfetch {Prune Tracking Branches During Fetch}}
|
{b gui.pruneduringfetch {mc "Prune Tracking Branches During Fetch"}}
|
||||||
{b gui.matchtrackingbranch {Match Tracking Branches}}
|
{b gui.matchtrackingbranch {mc "Match Tracking Branches"}}
|
||||||
{i-0..99 gui.diffcontext {Number of Diff Context Lines}}
|
{i-0..99 gui.diffcontext {mc "Number of Diff Context Lines"}}
|
||||||
{t gui.newbranchtemplate {New Branch Name Template}}
|
{t gui.newbranchtemplate {mc "New Branch Name Template"}}
|
||||||
} {
|
} {
|
||||||
set type [lindex $option 0]
|
set type [lindex $option 0]
|
||||||
set name [lindex $option 1]
|
set name [lindex $option 1]
|
||||||
set text [lindex $option 2]
|
set text [eval [lindex $option 2]]
|
||||||
incr optid
|
incr optid
|
||||||
foreach f {repo global} {
|
foreach f {repo global} {
|
||||||
switch -glob -- $type {
|
switch -glob -- $type {
|
||||||
@ -246,7 +245,7 @@ proc do_options {} {
|
|||||||
foreach option $font_descs {
|
foreach option $font_descs {
|
||||||
set name [lindex $option 0]
|
set name [lindex $option 0]
|
||||||
set font [lindex $option 1]
|
set font [lindex $option 1]
|
||||||
set text [lindex $option 2]
|
set text [eval [lindex $option 2]]
|
||||||
|
|
||||||
set global_config_new(gui.$font^^family) \
|
set global_config_new(gui.$font^^family) \
|
||||||
[font configure $font -family]
|
[font configure $font -family]
|
||||||
@ -272,7 +271,7 @@ proc do_options {} {
|
|||||||
bind $w <Visibility> "grab $w; focus $w.buttons.save"
|
bind $w <Visibility> "grab $w; focus $w.buttons.save"
|
||||||
bind $w <Key-Escape> "destroy $w"
|
bind $w <Key-Escape> "destroy $w"
|
||||||
bind $w <Key-Return> [list do_save_config $w]
|
bind $w <Key-Return> [list do_save_config $w]
|
||||||
wm title $w "[appname] ([reponame]): Options"
|
wm title $w [append "[appname] ([reponame]): " [mc "Options"]]
|
||||||
tkwait window $w
|
tkwait window $w
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -303,7 +302,7 @@ proc do_restore_defaults {} {
|
|||||||
|
|
||||||
proc do_save_config {w} {
|
proc do_save_config {w} {
|
||||||
if {[catch {save_config} err]} {
|
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
|
reshow_diff
|
||||||
destroy $w
|
destroy $w
|
||||||
|
@ -159,7 +159,7 @@ proc populate_fetch_menu {} {
|
|||||||
if {$enable} {
|
if {$enable} {
|
||||||
lappend prune_list $r
|
lappend prune_list $r
|
||||||
$m add command \
|
$m add command \
|
||||||
-label "Fetch from $r..." \
|
-label [mc "Fetch from %s..." $r] \
|
||||||
-command [list fetch_from $r]
|
-command [list fetch_from $r]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -169,7 +169,7 @@ proc populate_fetch_menu {} {
|
|||||||
}
|
}
|
||||||
foreach r $prune_list {
|
foreach r $prune_list {
|
||||||
$m add command \
|
$m add command \
|
||||||
-label "Prune from $r..." \
|
-label [mc "Prune from %s..." $r] \
|
||||||
-command [list prune_from $r]
|
-command [list prune_from $r]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -203,7 +203,7 @@ proc populate_push_menu {} {
|
|||||||
$m add separator
|
$m add separator
|
||||||
}
|
}
|
||||||
$m add command \
|
$m add command \
|
||||||
-label "Push to $r..." \
|
-label [mc "Push to %s..." $r] \
|
||||||
-command [list push_to $r]
|
-command [list push_to $r]
|
||||||
incr fast_count
|
incr fast_count
|
||||||
}
|
}
|
||||||
|
@ -26,28 +26,28 @@ constructor dialog {} {
|
|||||||
global all_remotes M1B
|
global all_remotes M1B
|
||||||
|
|
||||||
make_toplevel top w
|
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 {.}} {
|
if {$top ne {.}} {
|
||||||
wm geometry $top "+[winfo rootx .]+[winfo rooty .]"
|
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
|
pack $w.header -side top -fill x
|
||||||
|
|
||||||
frame $w.buttons
|
frame $w.buttons
|
||||||
button $w.buttons.delete -text Delete \
|
button $w.buttons.delete -text [mc Delete] \
|
||||||
-default active \
|
-default active \
|
||||||
-command [cb _delete]
|
-command [cb _delete]
|
||||||
pack $w.buttons.delete -side right
|
pack $w.buttons.delete -side right
|
||||||
button $w.buttons.cancel -text {Cancel} \
|
button $w.buttons.cancel -text [mc "Cancel"] \
|
||||||
-command [list destroy $w]
|
-command [list destroy $w]
|
||||||
pack $w.buttons.cancel -side right -padx 5
|
pack $w.buttons.cancel -side right -padx 5
|
||||||
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
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 {}} {
|
if {$all_remotes ne {}} {
|
||||||
radiobutton $w.dest.remote_r \
|
radiobutton $w.dest.remote_r \
|
||||||
-text {Remote:} \
|
-text [mc "Remote:"] \
|
||||||
-value remote \
|
-value remote \
|
||||||
-variable @urltype
|
-variable @urltype
|
||||||
eval tk_optionMenu $w.dest.remote_m @remote $all_remotes
|
eval tk_optionMenu $w.dest.remote_m @remote $all_remotes
|
||||||
@ -63,7 +63,7 @@ constructor dialog {} {
|
|||||||
set urltype url
|
set urltype url
|
||||||
}
|
}
|
||||||
radiobutton $w.dest.url_r \
|
radiobutton $w.dest.url_r \
|
||||||
-text {Arbitrary URL:} \
|
-text [mc "Arbitrary URL:"] \
|
||||||
-value url \
|
-value url \
|
||||||
-variable @urltype
|
-variable @urltype
|
||||||
entry $w.dest.url_t \
|
entry $w.dest.url_t \
|
||||||
@ -81,7 +81,7 @@ constructor dialog {} {
|
|||||||
grid columnconfigure $w.dest 1 -weight 1
|
grid columnconfigure $w.dest 1 -weight 1
|
||||||
pack $w.dest -anchor nw -fill x -pady 5 -padx 5
|
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 \
|
listbox $w.heads.l \
|
||||||
-height 10 \
|
-height 10 \
|
||||||
-width 70 \
|
-width 70 \
|
||||||
@ -96,7 +96,7 @@ constructor dialog {} {
|
|||||||
-anchor w \
|
-anchor w \
|
||||||
-justify left
|
-justify left
|
||||||
button $w.heads.footer.rescan \
|
button $w.heads.footer.rescan \
|
||||||
-text {Rescan} \
|
-text [mc "Rescan"] \
|
||||||
-command [cb _rescan]
|
-command [cb _rescan]
|
||||||
pack $w.heads.footer.status -side left -fill x
|
pack $w.heads.footer.status -side left -fill x
|
||||||
pack $w.heads.footer.rescan -side right
|
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.l -side left -fill both -expand 1
|
||||||
pack $w.heads -fill both -expand 1 -pady 5 -padx 5
|
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 \
|
radiobutton $w.validate.head_r \
|
||||||
-text {Merged Into:} \
|
-text [mc "Merged Into:"] \
|
||||||
-value head \
|
-value head \
|
||||||
-variable @checktype
|
-variable @checktype
|
||||||
set head_m [tk_optionMenu $w.validate.head_m @check_head {}]
|
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]
|
trace add variable @check_head write [cb _write_check_head]
|
||||||
grid $w.validate.head_r $w.validate.head_m -sticky w
|
grid $w.validate.head_r $w.validate.head_m -sticky w
|
||||||
radiobutton $w.validate.always_r \
|
radiobutton $w.validate.always_r \
|
||||||
-text {Always (Do not perform merge checks)} \
|
-text [mc "Always (Do not perform merge checks)"] \
|
||||||
-value always \
|
-value always \
|
||||||
-variable @checktype
|
-variable @checktype
|
||||||
grid $w.validate.always_r -columnspan 2 -sticky w
|
grid $w.validate.always_r -columnspan 2 -sticky w
|
||||||
@ -149,7 +149,7 @@ method _delete {} {
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $w \
|
-parent $w \
|
||||||
-message "A branch is required for 'Merged Into'."
|
-message [mc "A branch is required for 'Merged Into'."]
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
set crev $full_cache("$cache\nrefs/heads/$check_head")
|
set crev $full_cache("$cache\nrefs/heads/$check_head")
|
||||||
@ -186,9 +186,7 @@ method _delete {} {
|
|||||||
- [join $not_merged "\n - "]"
|
- [join $not_merged "\n - "]"
|
||||||
|
|
||||||
if {$need_fetch} {
|
if {$need_fetch} {
|
||||||
append msg "
|
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]
|
||||||
|
|
||||||
One or more of the merge tests failed because you have not fetched the necessary commits. Try fetching from $uri first."
|
|
||||||
}
|
}
|
||||||
|
|
||||||
tk_messageBox \
|
tk_messageBox \
|
||||||
@ -206,7 +204,7 @@ One or more of the merge tests failed because you have not fetched the necessary
|
|||||||
-type ok \
|
-type ok \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $w \
|
-parent $w \
|
||||||
-message "Please select one or more branches to delete."
|
-message [mc "Please select one or more branches to delete."]
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -215,9 +213,9 @@ One or more of the merge tests failed because you have not fetched the necessary
|
|||||||
-type yesno \
|
-type yesno \
|
||||||
-title [wm title $w] \
|
-title [wm title $w] \
|
||||||
-parent $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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -225,7 +223,7 @@ Delete the selected branches?}] ne yes} {
|
|||||||
|
|
||||||
set cons [console::new \
|
set cons [console::new \
|
||||||
"push $uri" \
|
"push $uri" \
|
||||||
"Deleting branches from $uri"]
|
[mc "Deleting branches from %s" $uri]]
|
||||||
console::exec $cons $push_cmd
|
console::exec $cons $push_cmd
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -285,12 +283,12 @@ method _load {cache uri} {
|
|||||||
$w.heads.l conf -state disabled
|
$w.heads.l conf -state disabled
|
||||||
set head_list [list]
|
set head_list [list]
|
||||||
set full_list [list]
|
set full_list [list]
|
||||||
set status {No repository selected.}
|
set status [mc "No repository selected."]
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
if {[catch {set x $cached($cache)}]} {
|
if {[catch {set x $cached($cache)}]} {
|
||||||
set status "Scanning $uri..."
|
set status [mc "Scanning %s..." $uri]
|
||||||
$w.heads.l conf -state disabled
|
$w.heads.l conf -state disabled
|
||||||
set head_list [list]
|
set head_list [list]
|
||||||
set full_list [list]
|
set full_list [list]
|
||||||
|
@ -6,7 +6,7 @@ proc do_windows_shortcut {} {
|
|||||||
|
|
||||||
set fn [tk_getSaveFile \
|
set fn [tk_getSaveFile \
|
||||||
-parent . \
|
-parent . \
|
||||||
-title "[appname] ([reponame]): Create Desktop Icon" \
|
-title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \
|
||||||
-initialfile "Git [reponame].bat"]
|
-initialfile "Git [reponame].bat"]
|
||||||
if {$fn != {}} {
|
if {$fn != {}} {
|
||||||
if {[file extension $fn] ne {.bat}} {
|
if {[file extension $fn] ne {.bat}} {
|
||||||
@ -23,7 +23,7 @@ proc do_windows_shortcut {} {
|
|||||||
puts $fd " \"[file normalize $argv0]\""
|
puts $fd " \"[file normalize $argv0]\""
|
||||||
close $fd
|
close $fd
|
||||||
} err]} {
|
} 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 \
|
set fn [tk_getSaveFile \
|
||||||
-parent . \
|
-parent . \
|
||||||
-title "[appname] ([reponame]): Create Desktop Icon" \
|
-title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \
|
||||||
-initialdir $desktop \
|
-initialdir $desktop \
|
||||||
-initialfile "Git [reponame].bat"]
|
-initialfile "Git [reponame].bat"]
|
||||||
if {$fn != {}} {
|
if {$fn != {}} {
|
||||||
@ -71,7 +71,7 @@ proc do_cygwin_shortcut {} {
|
|||||||
puts $fd " &\""
|
puts $fd " &\""
|
||||||
close $fd
|
close $fd
|
||||||
} err]} {
|
} 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 \
|
set fn [tk_getSaveFile \
|
||||||
-parent . \
|
-parent . \
|
||||||
-title "[appname] ([reponame]): Create Desktop Icon" \
|
-title [append "[appname] ([reponame]): " [mc "Create Desktop Icon"]] \
|
||||||
-initialdir [file join $env(HOME) Desktop] \
|
-initialdir [file join $env(HOME) Desktop] \
|
||||||
-initialfile "Git [reponame].app"]
|
-initialfile "Git [reponame].app"]
|
||||||
if {$fn != {}} {
|
if {$fn != {}} {
|
||||||
@ -146,7 +146,7 @@ proc do_macosx_app {} {
|
|||||||
|
|
||||||
file attributes $exe -permissions u+x,g+x,o+x
|
file attributes $exe -permissions u+x,g+x,o+x
|
||||||
} err]} {
|
} err]} {
|
||||||
error_popup "Cannot write icon:\n\n$err"
|
error_popup [append [mc "Cannot write icon:"] "\n\n$err"]
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -55,7 +55,7 @@ method update {have total} {
|
|||||||
set pdone [expr {100 * $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]
|
$prefix $have $total $units $pdone]
|
||||||
$w_c coords bar 0 0 $pdone 20
|
$w_c coords bar 0 0 $pdone 20
|
||||||
}
|
}
|
||||||
|
@ -4,7 +4,7 @@
|
|||||||
proc fetch_from {remote} {
|
proc fetch_from {remote} {
|
||||||
set w [console::new \
|
set w [console::new \
|
||||||
"fetch $remote" \
|
"fetch $remote" \
|
||||||
"Fetching new changes from $remote"]
|
[mc "Fetching new changes from %s" $remote]]
|
||||||
set cmds [list]
|
set cmds [list]
|
||||||
lappend cmds [list exec git fetch $remote]
|
lappend cmds [list exec git fetch $remote]
|
||||||
if {[is_config_true gui.pruneduringfetch]} {
|
if {[is_config_true gui.pruneduringfetch]} {
|
||||||
@ -16,14 +16,14 @@ proc fetch_from {remote} {
|
|||||||
proc prune_from {remote} {
|
proc prune_from {remote} {
|
||||||
set w [console::new \
|
set w [console::new \
|
||||||
"remote prune $remote" \
|
"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]
|
console::exec $w [list git remote prune $remote]
|
||||||
}
|
}
|
||||||
|
|
||||||
proc push_to {remote} {
|
proc push_to {remote} {
|
||||||
set w [console::new \
|
set w [console::new \
|
||||||
"push $remote" \
|
"push $remote" \
|
||||||
"Pushing changes to $remote"]
|
[mc "Pushing changes to %s" $remote]]
|
||||||
set cmd [list git push]
|
set cmd [list git push]
|
||||||
lappend cmd -v
|
lappend cmd -v
|
||||||
lappend cmd $remote
|
lappend cmd $remote
|
||||||
@ -65,7 +65,7 @@ proc start_push_anywhere_action {w} {
|
|||||||
|
|
||||||
set cons [console::new \
|
set cons [console::new \
|
||||||
"push $r_url" \
|
"push $r_url" \
|
||||||
"Pushing $cnt $unit to $r_url"]
|
[mc "Pushing %s %s to %s" $cnt $unit $r_url]]
|
||||||
console::exec $cons $cmd
|
console::exec $cons $cmd
|
||||||
destroy $w
|
destroy $w
|
||||||
}
|
}
|
||||||
@ -81,21 +81,21 @@ proc do_push_anywhere {} {
|
|||||||
toplevel $w
|
toplevel $w
|
||||||
wm geometry $w "+[winfo rootx .]+[winfo rooty .]"
|
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
|
pack $w.header -side top -fill x
|
||||||
|
|
||||||
frame $w.buttons
|
frame $w.buttons
|
||||||
button $w.buttons.create -text Push \
|
button $w.buttons.create -text [mc Push] \
|
||||||
-default active \
|
-default active \
|
||||||
-command [list start_push_anywhere_action $w]
|
-command [list start_push_anywhere_action $w]
|
||||||
pack $w.buttons.create -side right
|
pack $w.buttons.create -side right
|
||||||
button $w.buttons.cancel -text {Cancel} \
|
button $w.buttons.cancel -text [mc "Cancel"] \
|
||||||
-default normal \
|
-default normal \
|
||||||
-command [list destroy $w]
|
-command [list destroy $w]
|
||||||
pack $w.buttons.cancel -side right -padx 5
|
pack $w.buttons.cancel -side right -padx 5
|
||||||
pack $w.buttons -side bottom -fill x -pady 10 -padx 10
|
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 \
|
listbox $w.source.l \
|
||||||
-height 10 \
|
-height 10 \
|
||||||
-width 70 \
|
-width 70 \
|
||||||
@ -112,10 +112,10 @@ proc do_push_anywhere {} {
|
|||||||
pack $w.source.l -side left -fill both -expand 1
|
pack $w.source.l -side left -fill both -expand 1
|
||||||
pack $w.source -fill both -expand 1 -pady 5 -padx 5
|
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 {}} {
|
if {$all_remotes ne {}} {
|
||||||
radiobutton $w.dest.remote_r \
|
radiobutton $w.dest.remote_r \
|
||||||
-text {Remote:} \
|
-text [mc "Remote:"] \
|
||||||
-value remote \
|
-value remote \
|
||||||
-variable push_urltype
|
-variable push_urltype
|
||||||
eval tk_optionMenu $w.dest.remote_m push_remote $all_remotes
|
eval tk_optionMenu $w.dest.remote_m push_remote $all_remotes
|
||||||
@ -130,7 +130,7 @@ proc do_push_anywhere {} {
|
|||||||
set push_urltype url
|
set push_urltype url
|
||||||
}
|
}
|
||||||
radiobutton $w.dest.url_r \
|
radiobutton $w.dest.url_r \
|
||||||
-text {Arbitrary URL:} \
|
-text [mc "Arbitrary URL:"] \
|
||||||
-value url \
|
-value url \
|
||||||
-variable push_urltype
|
-variable push_urltype
|
||||||
entry $w.dest.url_t \
|
entry $w.dest.url_t \
|
||||||
@ -150,13 +150,13 @@ proc do_push_anywhere {} {
|
|||||||
grid columnconfigure $w.dest 1 -weight 1
|
grid columnconfigure $w.dest 1 -weight 1
|
||||||
pack $w.dest -anchor nw -fill x -pady 5 -padx 5
|
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 \
|
checkbutton $w.options.thin \
|
||||||
-text {Use thin pack (for slow network connections)} \
|
-text [mc "Use thin pack (for slow network connections)"] \
|
||||||
-variable push_thin
|
-variable push_thin
|
||||||
grid $w.options.thin -columnspan 2 -sticky w
|
grid $w.options.thin -columnspan 2 -sticky w
|
||||||
checkbutton $w.options.tags \
|
checkbutton $w.options.tags \
|
||||||
-text {Include tags} \
|
-text [mc "Include tags"] \
|
||||||
-variable push_tags
|
-variable push_tags
|
||||||
grid $w.options.tags -columnspan 2 -sticky w
|
grid $w.options.tags -columnspan 2 -sticky w
|
||||||
grid columnconfigure $w.options 1 -weight 1
|
grid columnconfigure $w.options 1 -weight 1
|
||||||
@ -169,6 +169,6 @@ proc do_push_anywhere {} {
|
|||||||
bind $w <Visibility> "grab $w; focus $w.buttons.create"
|
bind $w <Visibility> "grab $w; focus $w.buttons.create"
|
||||||
bind $w <Key-Escape> "destroy $w"
|
bind $w <Key-Escape> "destroy $w"
|
||||||
bind $w <Key-Return> [list start_push_anywhere_action $w]
|
bind $w <Key-Return> [list start_push_anywhere_action $w]
|
||||||
wm title $w "[appname] ([reponame]): Push"
|
wm title $w [append "[appname] ([reponame]): " [mc "Push"]]
|
||||||
tkwait window $w
|
tkwait window $w
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user