From: Junio C Hamano Date: Mon, 21 Jan 2008 00:58:38 +0000 (-0800) Subject: Merge git://repo.or.cz/git-gui X-Git-Tag: v1.5.4-rc4~1 X-Git-Url: https://git.tokkee.org/?a=commitdiff_plain;h=105c21df14531bf2fd39e05b4c3a9aa31349da06;p=git.git Merge git://repo.or.cz/git-gui * git://repo.or.cz/git-gui: git-gui: Makefile - Handle $DESTDIR on Cygwin git-gui: add french glossary: glossary/fr.po git-gui: Refresh file status description after hunk application git-gui: Allow 'Create New Repository' on existing directories git-gui: Initial french translation git-gui: Improve German translation. git-gui: Updated Swedish translation after mailing list review. git-gui: Fix broken revert confirmation. git-gui: Update German translation git-gui: Update glossary: add term "hunk" --- 105c21df14531bf2fd39e05b4c3a9aa31349da06 diff --cc git-gui/Makefile index c109eab13,000000000..1baf4b086 mode 100644,000000..100644 --- a/git-gui/Makefile +++ b/git-gui/Makefile @@@ -1,307 -1,0 +1,308 @@@ +all:: + +# Define V=1 to have a more verbose compile. +# +# Define NO_MSGFMT if you do not have msgfmt from the GNU gettext +# package and want to use our rough pure Tcl po->msg translator. +# TCL_PATH must be vaild for this to work. +# + +GIT-VERSION-FILE: .FORCE-GIT-VERSION-FILE + @$(SHELL_PATH) ./GIT-VERSION-GEN +-include GIT-VERSION-FILE + +uname_S := $(shell sh -c 'uname -s 2>/dev/null || echo not') +uname_O := $(shell sh -c 'uname -o 2>/dev/null || echo not') + +SCRIPT_SH = git-gui.sh +GITGUI_MAIN := git-gui +GITGUI_BUILT_INS = git-citool +ALL_LIBFILES = $(wildcard lib/*.tcl) +PRELOAD_FILES = lib/class.tcl +NONTCL_LIBFILES = \ + lib/git-gui.ico \ + $(wildcard lib/win32_*.js) \ +#end NONTCL_LIBFILES + +ifndef SHELL_PATH + SHELL_PATH = /bin/sh +endif + +ifndef gitexecdir + gitexecdir := $(shell git --exec-path) +endif + +ifndef sharedir + sharedir := $(dir $(gitexecdir))share +endif + +ifndef INSTALL + INSTALL = install +endif + +RM_RF ?= rm -rf +RMDIR ?= rmdir + +INSTALL_D0 = $(INSTALL) -d -m 755 # space is required here +INSTALL_D1 = +INSTALL_R0 = $(INSTALL) -m 644 # space is required here +INSTALL_R1 = +INSTALL_X0 = $(INSTALL) -m 755 # space is required here +INSTALL_X1 = +INSTALL_A0 = find # space is required here +INSTALL_A1 = | cpio -pud +INSTALL_L0 = rm -f # space is required here +INSTALL_L1 = && ln # space is required here +INSTALL_L2 = +INSTALL_L3 = + +REMOVE_D0 = $(RMDIR) # space is required here +REMOVE_D1 = || true +REMOVE_F0 = $(RM_RF) # space is required here +REMOVE_F1 = +CLEAN_DST = true + +ifndef V + QUIET = @ + QUIET_GEN = $(QUIET)echo ' ' GEN '$@' && + QUIET_INDEX = $(QUIET)echo ' ' INDEX $(dir $@) && + QUIET_MSGFMT0 = $(QUIET)printf ' MSGFMT %12s ' $@ && v=` + QUIET_MSGFMT1 = 2>&1` && echo "$$v" | sed -e 's/fuzzy translations/fuzzy/' | sed -e 's/ messages//g' + QUIET_2DEVNULL = 2>/dev/null + + INSTALL_D0 = dir= + INSTALL_D1 = && echo ' ' DEST $$dir && $(INSTALL) -d -m 755 "$$dir" + INSTALL_R0 = src= + INSTALL_R1 = && echo ' ' INSTALL 644 `basename $$src` && $(INSTALL) -m 644 $$src + INSTALL_X0 = src= + INSTALL_X1 = && echo ' ' INSTALL 755 `basename $$src` && $(INSTALL) -m 755 $$src + INSTALL_A0 = src= + INSTALL_A1 = && echo ' ' INSTALL ' ' `basename "$$src"` && find "$$src" | cpio -pud + + INSTALL_L0 = dst= + INSTALL_L1 = && src= + INSTALL_L2 = && dst= + INSTALL_L3 = && echo ' ' 'LINK ' `basename "$$dst"` '->' `basename "$$src"` && rm -f "$$dst" && ln "$$src" "$$dst" + + CLEAN_DST = echo ' ' UNINSTALL + REMOVE_D0 = dir= + REMOVE_D1 = && echo ' ' REMOVE $$dir && test -d "$$dir" && $(RMDIR) "$$dir" || true + REMOVE_F0 = dst= + REMOVE_F1 = && echo ' ' REMOVE `basename "$$dst"` && $(RM_RF) "$$dst" +endif + +TCL_PATH ?= tclsh +TCLTK_PATH ?= wish +TKFRAMEWORK = /Library/Frameworks/Tk.framework/Resources/Wish.app + +ifeq ($(findstring $(MAKEFLAGS),s),s) +QUIET_GEN = +endif + +-include config.mak + +DESTDIR_SQ = $(subst ','\'',$(DESTDIR)) +gitexecdir_SQ = $(subst ','\'',$(gitexecdir)) +SHELL_PATH_SQ = $(subst ','\'',$(SHELL_PATH)) +TCL_PATH_SQ = $(subst ','\'',$(TCL_PATH)) +TCLTK_PATH_SQ = $(subst ','\'',$(TCLTK_PATH)) +TCLTK_PATH_SED = $(subst ','\'',$(subst \,\\,$(TCLTK_PATH))) + +gg_libdir ?= $(sharedir)/git-gui/lib +libdir_SQ = $(subst ','\'',$(gg_libdir)) - libdir_SED = $(subst ','\'',$(subst \,\\,$(gg_libdir))) ++libdir_SED = $(subst ','\'',$(subst \,\\,$(gg_libdir_sed_in))) +exedir = $(dir $(gitexecdir))share/git-gui/lib + +GITGUI_SCRIPT := $$0 +GITGUI_RELATIVE := +GITGUI_MACOSXAPP := + +ifeq ($(uname_O),Cygwin) + GITGUI_SCRIPT := `cygpath --windows --absolute "$(GITGUI_SCRIPT)"` - gg_libdir := $(shell cygpath --windows --absolute "$(gg_libdir)") ++ gg_libdir_sed_in := $(shell cygpath --windows --absolute "$(gg_libdir)") +else + ifeq ($(exedir),$(gg_libdir)) + GITGUI_RELATIVE := 1 + endif ++ gg_libdir_sed_in := $(gg_libdir) +endif +ifeq ($(uname_S),Darwin) + ifeq ($(shell test -d $(TKFRAMEWORK) && echo y),y) + GITGUI_MACOSXAPP := YesPlease + endif +endif +ifneq (,$(findstring MINGW,$(uname_S))) + NO_MSGFMT=1 + GITGUI_WINDOWS_WRAPPER := YesPlease +endif + +ifdef GITGUI_MACOSXAPP +GITGUI_MAIN := git-gui.tcl + +git-gui: GIT-VERSION-FILE GIT-GUI-VARS + $(QUIET_GEN)rm -f $@ $@+ && \ + echo '#!$(SHELL_PATH_SQ)' >$@+ && \ + echo 'if test "z$$*" = zversion ||' >>$@+ && \ + echo ' test "z$$*" = z--version' >>$@+ && \ + echo then >>$@+ && \ + echo ' 'echo \'git-gui version '$(GITGUI_VERSION)'\' >>$@+ && \ + echo else >>$@+ && \ + echo ' 'exec \''$(libdir_SQ)/Git Gui.app/Contents/MacOS/Wish'\' \ + '"$$0" "$$@"' >>$@+ && \ + echo fi >>$@+ && \ + chmod +x $@+ && \ + mv $@+ $@ + +Git\ Gui.app: GIT-VERSION-FILE GIT-GUI-VARS \ + macosx/Info.plist \ + macosx/git-gui.icns \ + macosx/AppMain.tcl \ + $(TKFRAMEWORK)/Contents/MacOS/Wish + $(QUIET_GEN)rm -rf '$@' '$@'+ && \ + mkdir -p '$@'+/Contents/MacOS && \ + mkdir -p '$@'+/Contents/Resources/Scripts && \ + cp '$(subst ','\'',$(TKFRAMEWORK))/Contents/MacOS/Wish' \ + '$@'+/Contents/MacOS && \ + cp macosx/git-gui.icns '$@'+/Contents/Resources && \ + sed -e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \ + macosx/Info.plist \ + >'$@'+/Contents/Info.plist && \ + sed -e 's|@@gitexecdir@@|$(gitexecdir_SQ)|' \ + -e 's|@@GITGUI_LIBDIR@@|$(libdir_SED)|' \ + macosx/AppMain.tcl \ + >'$@'+/Contents/Resources/Scripts/AppMain.tcl && \ + mv '$@'+ '$@' +endif + +ifdef GITGUI_WINDOWS_WRAPPER +GITGUI_MAIN := git-gui.tcl + +git-gui: windows/git-gui.sh + cp $< $@ +endif + +$(GITGUI_MAIN): git-gui.sh GIT-VERSION-FILE GIT-GUI-VARS + $(QUIET_GEN)rm -f $@ $@+ && \ + sed -e '1s|#!.*/sh|#!$(SHELL_PATH_SQ)|' \ + -e '1,30s|^ argv0=$$0| argv0=$(GITGUI_SCRIPT)|' \ + -e '1,30s|^ exec wish | exec '\''$(TCLTK_PATH_SED)'\'' |' \ + -e 's/@@GITGUI_VERSION@@/$(GITGUI_VERSION)/g' \ + -e 's|@@GITGUI_RELATIVE@@|$(GITGUI_RELATIVE)|' \ + -e '$(GITGUI_RELATIVE)s|@@GITGUI_LIBDIR@@|$(libdir_SED)|' \ + git-gui.sh >$@+ && \ + chmod +x $@+ && \ + mv $@+ $@ + +XGETTEXT ?= xgettext +ifdef NO_MSGFMT + MSGFMT ?= $(TCL_PATH) po/po2msg.sh +else + MSGFMT ?= msgfmt +endif + +msgsdir = $(gg_libdir)/msgs +msgsdir_SQ = $(subst ','\'',$(msgsdir)) +PO_TEMPLATE = po/git-gui.pot +ALL_POFILES = $(wildcard po/*.po) +ALL_MSGFILES = $(subst .po,.msg,$(ALL_POFILES)) + +$(PO_TEMPLATE): $(SCRIPT_SH) $(ALL_LIBFILES) + $(XGETTEXT) -kmc -LTcl -o $@ $(SCRIPT_SH) $(ALL_LIBFILES) +update-po:: $(PO_TEMPLATE) + $(foreach p, $(ALL_POFILES), echo Updating $p ; msgmerge -U $p $(PO_TEMPLATE) ; ) +$(ALL_MSGFILES): %.msg : %.po + $(QUIET_MSGFMT0)$(MSGFMT) --statistics --tcl -l $(basename $(notdir $<)) -d $(dir $@) $< $(QUIET_MSGFMT1) + +lib/tclIndex: $(ALL_LIBFILES) GIT-GUI-VARS + $(QUIET_INDEX)if echo \ + $(foreach p,$(PRELOAD_FILES),source $p\;) \ + auto_mkindex lib '*.tcl' \ + | $(TCL_PATH) $(QUIET_2DEVNULL); then : ok; \ + else \ + echo 1>&2 " * $(TCL_PATH) failed; using unoptimized loading"; \ + rm -f $@ ; \ + echo '# Autogenerated by git-gui Makefile' >$@ && \ + echo >>$@ && \ + $(foreach p,$(PRELOAD_FILES) $(ALL_LIBFILES),echo '$(subst lib/,,$p)' >>$@ &&) \ + echo >>$@ ; \ + fi + +TRACK_VARS = \ + $(subst ','\'',SHELL_PATH='$(SHELL_PATH_SQ)') \ + $(subst ','\'',TCL_PATH='$(TCL_PATH_SQ)') \ + $(subst ','\'',TCLTK_PATH='$(TCLTK_PATH_SQ)') \ + $(subst ','\'',gitexecdir='$(gitexecdir_SQ)') \ + $(subst ','\'',gg_libdir='$(libdir_SQ)') \ + GITGUI_MACOSXAPP=$(GITGUI_MACOSXAPP) \ +#end TRACK_VARS + +GIT-GUI-VARS: .FORCE-GIT-GUI-VARS + @VARS='$(TRACK_VARS)'; \ + if test x"$$VARS" != x"`cat $@ 2>/dev/null`" ; then \ + echo 1>&2 " * new locations or Tcl/Tk interpreter"; \ + echo 1>$@ "$$VARS"; \ + fi + +ifdef GITGUI_MACOSXAPP +all:: git-gui Git\ Gui.app +endif +ifdef GITGUI_WINDOWS_WRAPPER +all:: git-gui +endif +all:: $(GITGUI_MAIN) lib/tclIndex $(ALL_MSGFILES) + +install: all + $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(INSTALL_D1) + $(QUIET)$(INSTALL_X0)git-gui $(INSTALL_X1) '$(DESTDIR_SQ)$(gitexecdir_SQ)' + $(QUIET)$(foreach p,$(GITGUI_BUILT_INS), $(INSTALL_L0)'$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' $(INSTALL_L1)'$(DESTDIR_SQ)$(gitexecdir_SQ)/git-gui' $(INSTALL_L2)'$(DESTDIR_SQ)$(gitexecdir_SQ)/$p' $(INSTALL_L3) &&) true +ifdef GITGUI_WINDOWS_WRAPPER + $(QUIET)$(INSTALL_R0)git-gui.tcl $(INSTALL_R1) '$(DESTDIR_SQ)$(gitexecdir_SQ)' +endif + $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(INSTALL_D1) + $(QUIET)$(INSTALL_R0)lib/tclIndex $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' +ifdef GITGUI_MACOSXAPP + $(QUIET)$(INSTALL_A0)'Git Gui.app' $(INSTALL_A1) '$(DESTDIR_SQ)$(libdir_SQ)' + $(QUIET)$(INSTALL_X0)git-gui.tcl $(INSTALL_X1) '$(DESTDIR_SQ)$(libdir_SQ)' +endif + $(QUIET)$(foreach p,$(ALL_LIBFILES) $(NONTCL_LIBFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(libdir_SQ)' &&) true + $(QUIET)$(INSTALL_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(INSTALL_D1) + $(QUIET)$(foreach p,$(ALL_MSGFILES), $(INSTALL_R0)$p $(INSTALL_R1) '$(DESTDIR_SQ)$(msgsdir_SQ)' &&) true + +uninstall: + $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(gitexecdir_SQ)' + $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/git-gui $(REMOVE_F1) + $(QUIET)$(foreach p,$(GITGUI_BUILT_INS), $(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/$p $(REMOVE_F1) &&) true +ifdef GITGUI_WINDOWS_WRAPPER + $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(gitexecdir_SQ)'/git-gui.tcl $(REMOVE_F1) +endif + $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(libdir_SQ)' + $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/tclIndex $(REMOVE_F1) +ifdef GITGUI_MACOSXAPP + $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)/Git Gui.app' $(REMOVE_F1) + $(QUIET)$(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/git-gui.tcl $(REMOVE_F1) +endif + $(QUIET)$(foreach p,$(ALL_LIBFILES) $(NONTCL_LIBFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(libdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true + $(QUIET)$(CLEAN_DST) '$(DESTDIR_SQ)$(msgsdir_SQ)' + $(QUIET)$(foreach p,$(ALL_MSGFILES), $(REMOVE_F0)'$(DESTDIR_SQ)$(msgsdir_SQ)'/$(notdir $p) $(REMOVE_F1) &&) true + $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(gitexecdir_SQ)' $(REMOVE_D1) + $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(msgsdir_SQ)' $(REMOVE_D1) + $(QUIET)$(REMOVE_D0)'$(DESTDIR_SQ)$(libdir_SQ)' $(REMOVE_D1) + $(QUIET)$(REMOVE_D0)`dirname '$(DESTDIR_SQ)$(libdir_SQ)'` $(REMOVE_D1) + +dist-version: + @mkdir -p $(TARDIR) + @echo $(GITGUI_VERSION) > $(TARDIR)/version + +clean:: + $(RM_RF) $(GITGUI_MAIN) lib/tclIndex po/*.msg + $(RM_RF) GIT-VERSION-FILE GIT-GUI-VARS +ifdef GITGUI_MACOSXAPP + $(RM_RF) 'Git Gui.app'* git-gui +endif +ifdef GITGUI_WINDOWS_WRAPPER + $(RM_RF) git-gui +endif + +.PHONY: all install uninstall dist-version clean +.PHONY: .FORCE-GIT-VERSION-FILE +.PHONY: .FORCE-GIT-GUI-VARS diff --cc git-gui/lib/choose_repository.tcl index 2bac50e14,000000000..86faf24cc mode 100644,000000..100644 --- a/git-gui/lib/choose_repository.tcl +++ b/git-gui/lib/choose_repository.tcl @@@ -1,1044 -1,0 +1,1038 @@@ +# git-gui Git repository chooser +# Copyright (C) 2007 Shawn Pearce + +class choose_repository { + +field top +field w +field w_body ; # Widget holding the center content +field w_next ; # Next button +field w_quit ; # Quit button +field o_cons ; # Console object (if active) +field w_types ; # List of type buttons in clone +field w_recentlist ; # Listbox containing recent repositories + +field done 0 ; # Finished picking the repository? +field local_path {} ; # Where this repository is locally +field origin_url {} ; # Where we are cloning from +field origin_name origin ; # What we shall call 'origin' +field clone_type hardlink ; # Type of clone to construct +field readtree_err ; # Error output from read-tree (if any) +field sorted_recent ; # recent repositories (sorted) + +constructor pick {} { + global M1T M1B + + make_toplevel top w + wm title $top [mc "Git Gui"] + + if {$top eq {.}} { + menu $w.mbar -tearoff 0 + $top configure -menu $w.mbar + + set m_repo $w.mbar.repository + $w.mbar add cascade \ + -label [mc Repository] \ + -menu $m_repo + menu $m_repo + + if {[is_MacOSX]} { + $w.mbar add cascade -label [mc Apple] -menu .mbar.apple + menu $w.mbar.apple + $w.mbar.apple add command \ + -label [mc "About %s" [appname]] \ + -command do_about + } else { + $w.mbar add cascade -label [mc Help] -menu $w.mbar.help + menu $w.mbar.help + $w.mbar.help add command \ + -label [mc "About %s" [appname]] \ + -command do_about + } + + wm protocol $top WM_DELETE_WINDOW exit + bind $top <$M1B-q> exit + bind $top <$M1B-Q> exit + bind $top exit + } else { + wm geometry $top "+[winfo rootx .]+[winfo rooty .]" + bind $top [list destroy $top] + set m_repo {} + } + + pack [git_logo $w.git_logo] -side left -fill y -padx 10 -pady 10 + + set w_body $w.body + set opts $w_body.options + frame $w_body + text $opts \ + -cursor $::cursor_ptr \ + -relief flat \ + -background [$w_body cget -background] \ + -wrap none \ + -spacing1 5 \ + -width 50 \ + -height 3 + pack $opts -anchor w -fill x + + $opts tag conf link_new -foreground blue -underline 1 + $opts tag bind link_new <1> [cb _next new] + $opts insert end [mc "Create New Repository"] link_new + $opts insert end "\n" + if {$m_repo ne {}} { + $m_repo add command \ + -command [cb _next new] \ + -accelerator $M1T-N \ + -label [mc "New..."] + bind $top <$M1B-n> [cb _next new] + bind $top <$M1B-N> [cb _next new] + } + + $opts tag conf link_clone -foreground blue -underline 1 + $opts tag bind link_clone <1> [cb _next clone] + $opts insert end [mc "Clone Existing Repository"] link_clone + $opts insert end "\n" + if {$m_repo ne {}} { + $m_repo add command \ + -command [cb _next clone] \ + -accelerator $M1T-C \ + -label [mc "Clone..."] + bind $top <$M1B-c> [cb _next clone] + bind $top <$M1B-C> [cb _next clone] + } + + $opts tag conf link_open -foreground blue -underline 1 + $opts tag bind link_open <1> [cb _next open] + $opts insert end [mc "Open Existing Repository"] link_open + $opts insert end "\n" + if {$m_repo ne {}} { + $m_repo add command \ + -command [cb _next open] \ + -accelerator $M1T-O \ + -label [mc "Open..."] + bind $top <$M1B-o> [cb _next open] + bind $top <$M1B-O> [cb _next open] + } + + $opts conf -state disabled + + set sorted_recent [_get_recentrepos] + if {[llength $sorted_recent] > 0} { + if {$m_repo ne {}} { + $m_repo add separator + $m_repo add command \ + -state disabled \ + -label [mc "Recent Repositories"] + } + + label $w_body.space + label $w_body.recentlabel \ + -anchor w \ + -text [mc "Open Recent Repository:"] + set w_recentlist $w_body.recentlist + text $w_recentlist \ + -cursor $::cursor_ptr \ + -relief flat \ + -background [$w_body.recentlabel cget -background] \ + -wrap none \ + -width 50 \ + -height 10 + $w_recentlist tag conf link \ + -foreground blue \ + -underline 1 + set home $::env(HOME) + if {[is_Cygwin]} { + set home [exec cygpath --windows --absolute $home] + } + set home "[file normalize $home]/" + set hlen [string length $home] + foreach p $sorted_recent { + set path $p + if {[string equal -length $hlen $home $p]} { + set p "~/[string range $p $hlen end]" + } + regsub -all "\n" $p "\\n" p + $w_recentlist insert end $p link + $w_recentlist insert end "\n" + + if {$m_repo ne {}} { + $m_repo add command \ + -command [cb _open_recent_path $path] \ + -label " $p" + } + } + $w_recentlist conf -state disabled + $w_recentlist tag bind link <1> [cb _open_recent %x,%y] + pack $w_body.space -anchor w -fill x + pack $w_body.recentlabel -anchor w -fill x + pack $w_recentlist -anchor w -fill x + } + pack $w_body -fill x -padx 10 -pady 10 + + frame $w.buttons + set w_next $w.buttons.next + set w_quit $w.buttons.quit + button $w_quit \ + -text [mc "Quit"] \ + -command exit + pack $w_quit -side right -padx 5 + pack $w.buttons -side bottom -fill x -padx 10 -pady 10 + + if {$m_repo ne {}} { + $m_repo add separator + $m_repo add command \ + -label [mc Quit] \ + -command exit \ + -accelerator $M1T-Q + } + + bind $top [cb _invoke_next] + bind $top " + [cb _center] + grab $top + focus $top + bind $top {} + " + wm deiconify $top + tkwait variable @done + + if {$top eq {.}} { + eval destroy [winfo children $top] + } +} + +proc _home {} { + if {[catch {set h $::env(HOME)}] + || ![file isdirectory $h]} { + set h . + } + return $h +} + +method _center {} { + set nx [winfo reqwidth $top] + set ny [winfo reqheight $top] + set rx [expr {([winfo screenwidth $top] - $nx) / 3}] + set ry [expr {([winfo screenheight $top] - $ny) / 3}] + wm geometry $top [format {+%d+%d} $rx $ry] +} + +method _invoke_next {} { + if {[winfo exists $w_next]} { + uplevel #0 [$w_next cget -command] + } +} + +proc _get_recentrepos {} { + set recent [list] + foreach p [get_config gui.recentrepo] { + if {[_is_git [file join $p .git]]} { + lappend recent $p + } + } + return [lsort $recent] +} + +proc _unset_recentrepo {p} { + regsub -all -- {([()\[\]{}\.^$+*?\\])} $p {\\\1} p + git config --global --unset gui.recentrepo "^$p\$" +} + +proc _append_recentrepos {path} { + set path [file normalize $path] + set recent [get_config gui.recentrepo] + + if {[lindex $recent end] eq $path} { + return + } + + set i [lsearch $recent $path] + if {$i >= 0} { + _unset_recentrepo $path + set recent [lreplace $recent $i $i] + } + + lappend recent $path + git config --global --add gui.recentrepo $path + + while {[llength $recent] > 10} { + _unset_recentrepo [lindex $recent 0] + set recent [lrange $recent 1 end] + } +} + +method _open_recent {xy} { + set id [lindex [split [$w_recentlist index @$xy] .] 0] + set local_path [lindex $sorted_recent [expr {$id - 1}]] + _do_open2 $this +} + +method _open_recent_path {p} { + set local_path $p + _do_open2 $this +} + +method _next {action} { + destroy $w_body + if {![winfo exists $w_next]} { + button $w_next -default active + pack $w_next -side right -padx 5 -before $w_quit + } + _do_$action $this +} + +method _write_local_path {args} { + if {$local_path eq {}} { + $w_next conf -state disabled + } else { + $w_next conf -state normal + } +} + +method _git_init {} { - if {[file exists $local_path]} { - error_popup [mc "Location %s already exists." $local_path] - return 0 - } - + if {[catch {file mkdir $local_path} err]} { + error_popup [strcat \ + [mc "Failed to create repository %s:" $local_path] \ + "\n\n$err"] + return 0 + } + + if {[catch {cd $local_path} err]} { + error_popup [strcat \ + [mc "Failed to create repository %s:" $local_path] \ + "\n\n$err"] + return 0 + } + + if {[catch {git init} err]} { + error_popup [strcat \ + [mc "Failed to create repository %s:" $local_path] \ + "\n\n$err"] + return 0 + } + + _append_recentrepos [pwd] + set ::_gitdir .git + set ::_prefix {} + return 1 +} + +proc _is_git {path} { + if {[file exists [file join $path HEAD]] + && [file exists [file join $path objects]] + && [file exists [file join $path config]]} { + return 1 + } + if {[is_Cygwin]} { + if {[file exists [file join $path HEAD]] + && [file exists [file join $path objects.lnk]] + && [file exists [file join $path config.lnk]]} { + return 1 + } + } + return 0 +} + +proc _objdir {path} { + set objdir [file join $path .git objects] + if {[file isdirectory $objdir]} { + return $objdir + } + + set objdir [file join $path objects] + if {[file isdirectory $objdir]} { + return $objdir + } + + if {[is_Cygwin]} { + set objdir [file join $path .git objects.lnk] + if {[file isfile $objdir]} { + return [win32_read_lnk $objdir] + } + + set objdir [file join $path objects.lnk] + if {[file isfile $objdir]} { + return [win32_read_lnk $objdir] + } + } + + return {} +} + +###################################################################### +## +## Create New Repository + +method _do_new {} { + $w_next conf \ + -state disabled \ + -command [cb _do_new2] \ + -text [mc "Create"] + + frame $w_body + label $w_body.h \ + -font font_uibold \ + -text [mc "Create New Repository"] + pack $w_body.h -side top -fill x -pady 10 + pack $w_body -fill x -padx 10 + + frame $w_body.where + label $w_body.where.l -text [mc "Directory:"] + entry $w_body.where.t \ + -textvariable @local_path \ + -font font_diff \ + -width 50 + button $w_body.where.b \ + -text [mc "Browse"] \ + -command [cb _new_local_path] + + pack $w_body.where.b -side right + pack $w_body.where.l -side left + pack $w_body.where.t -fill x + pack $w_body.where -fill x + + trace add variable @local_path write [cb _write_local_path] + bind $w_body.h [list trace remove variable @local_path write [cb _write_local_path]] + update + focus $w_body.where.t +} + +method _new_local_path {} { + if {$local_path ne {}} { + set p [file dirname $local_path] + } else { + set p [_home] + } + + set p [tk_chooseDirectory \ + -initialdir $p \ + -parent $top \ + -title [mc "Git Repository"] \ + -mustexist false] + if {$p eq {}} return + + set p [file normalize $p] - if {[file isdirectory $p]} { - foreach i [glob \ - -directory $p \ - -tails \ - -nocomplain \ - * .*] { - switch -- $i { - . continue - .. continue - default { - error_popup [mc "Directory %s already exists." $p] - return - } - } - } - if {[catch {file delete $p} err]} { - error_popup [strcat \ - [mc "Directory %s already exists." $p] \ - "\n\n$err"] - return - } - } elseif {[file exists $p]} { - error_popup [mc "File %s already exists." $p] ++ if {![_new_ok $p]} { + return + } + set local_path $p +} + +method _do_new2 {} { ++ if {![_new_ok $local_path]} { ++ return ++ } + if {![_git_init $this]} { + return + } + set done 1 +} + ++proc _new_ok {p} { ++ if {[file isdirectory $p]} { ++ if {[_is_git [file join $p .git]]} { ++ error_popup [mc "Directory %s already exists." $p] ++ return 0 ++ } ++ } elseif {[file exists $p]} { ++ error_popup [mc "File %s already exists." $p] ++ return 0 ++ } ++ return 1 ++} ++ +###################################################################### +## +## Clone Existing Repository + +method _do_clone {} { + $w_next conf \ + -state disabled \ + -command [cb _do_clone2] \ + -text [mc "Clone"] + + frame $w_body + label $w_body.h \ + -font font_uibold \ + -text [mc "Clone Existing Repository"] + pack $w_body.h -side top -fill x -pady 10 + pack $w_body -fill x -padx 10 + + set args $w_body.args + frame $w_body.args + pack $args -fill both + + label $args.origin_l -text [mc "URL:"] + entry $args.origin_t \ + -textvariable @origin_url \ + -font font_diff \ + -width 50 + button $args.origin_b \ + -text [mc "Browse"] \ + -command [cb _open_origin] + grid $args.origin_l $args.origin_t $args.origin_b -sticky ew + + label $args.where_l -text [mc "Directory:"] + entry $args.where_t \ + -textvariable @local_path \ + -font font_diff \ + -width 50 + button $args.where_b \ + -text [mc "Browse"] \ + -command [cb _new_local_path] + grid $args.where_l $args.where_t $args.where_b -sticky ew + + label $args.type_l -text [mc "Clone Type:"] + frame $args.type_f + set w_types [list] + lappend w_types [radiobutton $args.type_f.hardlink \ + -state disabled \ + -anchor w \ + -text [mc "Standard (Fast, Semi-Redundant, Hardlinks)"] \ + -variable @clone_type \ + -value hardlink] + lappend w_types [radiobutton $args.type_f.full \ + -state disabled \ + -anchor w \ + -text [mc "Full Copy (Slower, Redundant Backup)"] \ + -variable @clone_type \ + -value full] + lappend w_types [radiobutton $args.type_f.shared \ + -state disabled \ + -anchor w \ + -text [mc "Shared (Fastest, Not Recommended, No Backup)"] \ + -variable @clone_type \ + -value shared] + foreach r $w_types { + pack $r -anchor w + } + grid $args.type_l $args.type_f -sticky new + + grid columnconfigure $args 1 -weight 1 + + trace add variable @local_path write [cb _update_clone] + trace add variable @origin_url write [cb _update_clone] + bind $w_body.h " + [list trace remove variable @local_path write [cb _update_clone]] + [list trace remove variable @origin_url write [cb _update_clone]] + " + update + focus $args.origin_t +} + +method _open_origin {} { + if {$origin_url ne {} && [file isdirectory $origin_url]} { + set p $origin_url + } else { + set p [_home] + } + + set p [tk_chooseDirectory \ + -initialdir $p \ + -parent $top \ + -title [mc "Git Repository"] \ + -mustexist true] + if {$p eq {}} return + + set p [file normalize $p] + if {![_is_git [file join $p .git]] && ![_is_git $p]} { + error_popup [mc "Not a Git repository: %s" [file tail $p]] + return + } + set origin_url $p +} + +method _update_clone {args} { + if {$local_path ne {} && $origin_url ne {}} { + $w_next conf -state normal + } else { + $w_next conf -state disabled + } + + if {$origin_url ne {} && + ( [_is_git [file join $origin_url .git]] + || [_is_git $origin_url])} { + set e normal + if {[[lindex $w_types 0] cget -state] eq {disabled}} { + set clone_type hardlink + } + } else { + set e disabled + set clone_type full + } + + foreach r $w_types { + $r conf -state $e + } +} + +method _do_clone2 {} { + if {[file isdirectory $origin_url]} { + set origin_url [file normalize $origin_url] + } + + if {$clone_type eq {hardlink} && ![file isdirectory $origin_url]} { + error_popup [mc "Standard only available for local repository."] + return + } + if {$clone_type eq {shared} && ![file isdirectory $origin_url]} { + error_popup [mc "Shared only available for local repository."] + return + } + + if {$clone_type eq {hardlink} || $clone_type eq {shared}} { + set objdir [_objdir $origin_url] + if {$objdir eq {}} { + error_popup [mc "Not a Git repository: %s" [file tail $origin_url]] + return + } + } + + set giturl $origin_url + if {[is_Cygwin] && [file isdirectory $giturl]} { + set giturl [exec cygpath --unix --absolute $giturl] + if {$clone_type eq {shared}} { + set objdir [exec cygpath --unix --absolute $objdir] + } + } + ++ if {[file exists $local_path]} { ++ error_popup [mc "Location %s already exists." $local_path] ++ return ++ } ++ + if {![_git_init $this]} return + set local_path [pwd] + + if {[catch { + git config remote.$origin_name.url $giturl + git config remote.$origin_name.fetch +refs/heads/*:refs/remotes/$origin_name/* + } err]} { + error_popup [strcat [mc "Failed to configure origin"] "\n\n$err"] + return + } + + destroy $w_body $w_next + + switch -exact -- $clone_type { + hardlink { + set o_cons [status_bar::two_line $w_body] + pack $w_body -fill x -padx 10 -pady 10 + + $o_cons start \ + [mc "Counting objects"] \ + [mc "buckets"] + update + + if {[file exists [file join $objdir info alternates]]} { + set pwd [pwd] + if {[catch { + file mkdir [gitdir objects info] + set f_in [open [file join $objdir info alternates] r] + set f_cp [open [gitdir objects info alternates] w] + fconfigure $f_in -translation binary -encoding binary + fconfigure $f_cp -translation binary -encoding binary + cd $objdir + while {[gets $f_in line] >= 0} { + if {[is_Cygwin]} { + puts $f_cp [exec cygpath --unix --absolute $line] + } else { + puts $f_cp [file normalize $line] + } + } + close $f_in + close $f_cp + cd $pwd + } err]} { + catch {cd $pwd} + _clone_failed $this [mc "Unable to copy objects/info/alternates: %s" $err] + return + } + } + + set tolink [list] + set buckets [glob \ + -tails \ + -nocomplain \ + -directory [file join $objdir] ??] + set bcnt [expr {[llength $buckets] + 2}] + set bcur 1 + $o_cons update $bcur $bcnt + update + + file mkdir [file join .git objects pack] + foreach i [glob -tails -nocomplain \ + -directory [file join $objdir pack] *] { + lappend tolink [file join pack $i] + } + $o_cons update [incr bcur] $bcnt + update + + foreach i $buckets { + file mkdir [file join .git objects $i] + foreach j [glob -tails -nocomplain \ + -directory [file join $objdir $i] *] { + lappend tolink [file join $i $j] + } + $o_cons update [incr bcur] $bcnt + update + } + $o_cons stop + + if {$tolink eq {}} { + info_popup [strcat \ + [mc "Nothing to clone from %s." $origin_url] \ + "\n" \ + [mc "The 'master' branch has not been initialized."] \ + ] + destroy $w_body + set done 1 + return + } + + set i [lindex $tolink 0] + if {[catch { + file link -hard \ + [file join .git objects $i] \ + [file join $objdir $i] + } err]} { + info_popup [mc "Hardlinks are unavailable. Falling back to copying."] + set i [_copy_files $this $objdir $tolink] + } else { + set i [_link_files $this $objdir [lrange $tolink 1 end]] + } + if {!$i} return + + destroy $w_body + } + full { + set o_cons [console::embed \ + $w_body \ + [mc "Cloning from %s" $origin_url]] + pack $w_body -fill both -expand 1 -padx 10 + $o_cons exec \ + [list git fetch --no-tags -k $origin_name] \ + [cb _do_clone_tags] + } + shared { + set fd [open [gitdir objects info alternates] w] + fconfigure $fd -translation binary + puts $fd $objdir + close $fd + } + } + + if {$clone_type eq {hardlink} || $clone_type eq {shared}} { + if {![_clone_refs $this]} return + set pwd [pwd] + if {[catch { + cd $origin_url + set HEAD [git rev-parse --verify HEAD^0] + } err]} { + _clone_failed $this [mc "Not a Git repository: %s" [file tail $origin_url]] + return 0 + } + cd $pwd + _do_clone_checkout $this $HEAD + } +} + +method _copy_files {objdir tocopy} { + $o_cons start \ + [mc "Copying objects"] \ + [mc "KiB"] + set tot 0 + set cmp 0 + foreach p $tocopy { + incr tot [file size [file join $objdir $p]] + } + foreach p $tocopy { + if {[catch { + set f_in [open [file join $objdir $p] r] + set f_cp [open [file join .git objects $p] w] + fconfigure $f_in -translation binary -encoding binary + fconfigure $f_cp -translation binary -encoding binary + + while {![eof $f_in]} { + incr cmp [fcopy $f_in $f_cp -size 16384] + $o_cons update \ + [expr {$cmp / 1024}] \ + [expr {$tot / 1024}] + update + } + + close $f_in + close $f_cp + } err]} { + _clone_failed $this [mc "Unable to copy object: %s" $err] + return 0 + } + } + return 1 +} + +method _link_files {objdir tolink} { + set total [llength $tolink] + $o_cons start \ + [mc "Linking objects"] \ + [mc "objects"] + for {set i 0} {$i < $total} {} { + set p [lindex $tolink $i] + if {[catch { + file link -hard \ + [file join .git objects $p] \ + [file join $objdir $p] + } err]} { + _clone_failed $this [mc "Unable to hardlink object: %s" $err] + return 0 + } + + incr i + if {$i % 5 == 0} { + $o_cons update $i $total + update + } + } + return 1 +} + +method _clone_refs {} { + set pwd [pwd] + if {[catch {cd $origin_url} err]} { + error_popup [mc "Not a Git repository: %s" [file tail $origin_url]] + return 0 + } + set fd_in [git_read for-each-ref \ + --tcl \ + {--format=list %(refname) %(objectname) %(*objectname)}] + cd $pwd + + set fd [open [gitdir packed-refs] w] + fconfigure $fd -translation binary + puts $fd "# pack-refs with: peeled" + while {[gets $fd_in line] >= 0} { + set line [eval $line] + set refn [lindex $line 0] + set robj [lindex $line 1] + set tobj [lindex $line 2] + + if {[regsub ^refs/heads/ $refn \ + "refs/remotes/$origin_name/" refn]} { + puts $fd "$robj $refn" + } elseif {[string match refs/tags/* $refn]} { + puts $fd "$robj $refn" + if {$tobj ne {}} { + puts $fd "^$tobj" + } + } + } + close $fd_in + close $fd + return 1 +} + +method _do_clone_tags {ok} { + if {$ok} { + $o_cons exec \ + [list git fetch --tags -k $origin_name] \ + [cb _do_clone_HEAD] + } else { + $o_cons done $ok + _clone_failed $this [mc "Cannot fetch branches and objects. See console output for details."] + } +} + +method _do_clone_HEAD {ok} { + if {$ok} { + $o_cons exec \ + [list git fetch $origin_name HEAD] \ + [cb _do_clone_full_end] + } else { + $o_cons done $ok + _clone_failed $this [mc "Cannot fetch tags. See console output for details."] + } +} + +method _do_clone_full_end {ok} { + $o_cons done $ok + + if {$ok} { + destroy $w_body + + set HEAD {} + if {[file exists [gitdir FETCH_HEAD]]} { + set fd [open [gitdir FETCH_HEAD] r] + while {[gets $fd line] >= 0} { + if {[regexp "^(.{40})\t\t" $line line HEAD]} { + break + } + } + close $fd + } + + catch {git pack-refs} + _do_clone_checkout $this $HEAD + } else { + _clone_failed $this [mc "Cannot determine HEAD. See console output for details."] + } +} + +method _clone_failed {{why {}}} { + if {[catch {file delete -force $local_path} err]} { + set why [strcat \ + $why \ + "\n\n" \ + [mc "Unable to cleanup %s" $local_path] \ + "\n\n" \ + $err] + } + if {$why ne {}} { + update + error_popup [strcat [mc "Clone failed."] "\n" $why] + } +} + +method _do_clone_checkout {HEAD} { + if {$HEAD eq {}} { + info_popup [strcat \ + [mc "No default branch obtained."] \ + "\n" \ + [mc "The 'master' branch has not been initialized."] \ + ] + set done 1 + return + } + if {[catch { + git update-ref HEAD $HEAD^0 + } err]} { + info_popup [strcat \ + [mc "Cannot resolve %s as a commit." $HEAD^0] \ + "\n $err" \ + "\n" \ + [mc "The 'master' branch has not been initialized."] \ + ] + set done 1 + return + } + + set o_cons [status_bar::two_line $w_body] + pack $w_body -fill x -padx 10 -pady 10 + $o_cons start \ + [mc "Creating working directory"] \ + [mc "files"] + + set readtree_err {} + set fd [git_read --stderr read-tree \ + -m \ + -u \ + -v \ + HEAD \ + HEAD \ + ] + fconfigure $fd -blocking 0 -translation binary + fileevent $fd readable [cb _readtree_wait $fd] +} + +method _readtree_wait {fd} { + set buf [read $fd] + $o_cons update_meter $buf + append readtree_err $buf + + fconfigure $fd -blocking 1 + if {![eof $fd]} { + fconfigure $fd -blocking 0 + return + } + + if {[catch {close $fd}]} { + set err $readtree_err + regsub {^fatal: } $err {} err + error_popup [strcat \ + [mc "Initial file checkout failed."] \ + "\n\n$err"] + return + } + + set done 1 +} + +###################################################################### +## +## Open Existing Repository + +method _do_open {} { + $w_next conf \ + -state disabled \ + -command [cb _do_open2] \ + -text [mc "Open"] + + frame $w_body + label $w_body.h \ + -font font_uibold \ + -text [mc "Open Existing Repository"] + pack $w_body.h -side top -fill x -pady 10 + pack $w_body -fill x -padx 10 + + frame $w_body.where + label $w_body.where.l -text [mc "Repository:"] + entry $w_body.where.t \ + -textvariable @local_path \ + -font font_diff \ + -width 50 + button $w_body.where.b \ + -text [mc "Browse"] \ + -command [cb _open_local_path] + + pack $w_body.where.b -side right + pack $w_body.where.l -side left + pack $w_body.where.t -fill x + pack $w_body.where -fill x + + trace add variable @local_path write [cb _write_local_path] + bind $w_body.h [list trace remove variable @local_path write [cb _write_local_path]] + update + focus $w_body.where.t +} + +method _open_local_path {} { + if {$local_path ne {}} { + set p $local_path + } else { + set p [_home] + } + + set p [tk_chooseDirectory \ + -initialdir $p \ + -parent $top \ + -title [mc "Git Repository"] \ + -mustexist true] + if {$p eq {}} return + + set p [file normalize $p] + if {![_is_git [file join $p .git]]} { + error_popup [mc "Not a Git repository: %s" [file tail $p]] + return + } + set local_path $p +} + +method _do_open2 {} { + if {![_is_git [file join $local_path .git]]} { + error_popup [mc "Not a Git repository: %s" [file tail $local_path]] + return + } + + if {[catch {cd $local_path} err]} { + error_popup [strcat \ + [mc "Failed to open repository %s:" $local_path] \ + "\n\n$err"] + return + } + + _append_recentrepos [pwd] + set ::_gitdir .git + set ::_prefix {} + set done 1 +} + +} diff --cc git-gui/lib/diff.tcl index 18aba3eae,000000000..d04f6dbde mode 100644,000000..100644 --- a/git-gui/lib/diff.tcl +++ b/git-gui/lib/diff.tcl @@@ -1,362 -1,0 +1,364 @@@ +# git-gui diff viewer +# Copyright (C) 2006, 2007 Shawn Pearce + +proc clear_diff {} { + global ui_diff current_diff_path current_diff_header + global ui_index ui_workdir + + $ui_diff conf -state normal + $ui_diff delete 0.0 end + $ui_diff conf -state disabled + + set current_diff_path {} + set current_diff_header {} + + $ui_index tag remove in_diff 0.0 end + $ui_workdir tag remove in_diff 0.0 end +} + +proc reshow_diff {} { + global file_states file_lists + global current_diff_path current_diff_side + + set p $current_diff_path + if {$p eq {}} { + # No diff is being shown. + } elseif {$current_diff_side eq {} + || [catch {set s $file_states($p)}] + || [lsearch -sorted -exact $file_lists($current_diff_side) $p] == -1} { + clear_diff + } else { + show_diff $p $current_diff_side + } +} + +proc handle_empty_diff {} { + global current_diff_path file_states file_lists + + set path $current_diff_path + set s $file_states($path) + if {[lindex $s 0] ne {_M}} return + + info_popup [mc "No differences detected. + +%s has no changes. + +The modification date of this file was updated by another application, but the content within the file was not changed. + +A rescan will be automatically started to find other files which may have the same state." [short_path $path]] + + clear_diff + display_file $path __ + rescan ui_ready 0 +} + +proc show_diff {path w {lno {}}} { + global file_states file_lists + global is_3way_diff diff_active repo_config + global ui_diff ui_index ui_workdir + global current_diff_path current_diff_side current_diff_header + + if {$diff_active || ![lock_index read]} return + + clear_diff + if {$lno == {}} { + set lno [lsearch -sorted -exact $file_lists($w) $path] + if {$lno >= 0} { + incr lno + } + } + if {$lno >= 1} { + $w tag add in_diff $lno.0 [expr {$lno + 1}].0 + } + + set s $file_states($path) + set m [lindex $s 0] + set is_3way_diff 0 + set diff_active 1 + set current_diff_path $path + set current_diff_side $w + set current_diff_header {} + ui_status [mc "Loading diff of %s..." [escape_path $path]] + + # - Git won't give us the diff, there's nothing to compare to! + # + if {$m eq {_O}} { + set max_sz [expr {128 * 1024}] + set type unknown + if {[catch { + set type [file type $path] + switch -- $type { + directory { + set type submodule + set content {} + set sz 0 + } + link { + set content [file readlink $path] + set sz [string length $content] + } + file { + set fd [open $path r] + fconfigure $fd -eofchar {} + set content [read $fd $max_sz] + close $fd + set sz [file size $path] + } + default { + error "'$type' not supported" + } + } + } err ]} { + set diff_active 0 + unlock_index + ui_status [mc "Unable to display %s" [escape_path $path]] + error_popup [strcat [mc "Error loading file:"] "\n\n$err"] + return + } + $ui_diff conf -state normal + if {$type eq {submodule}} { + $ui_diff insert end [append \ + "* " \ + [mc "Git Repository (subproject)"] \ + "\n"] d_@ + } elseif {![catch {set type [exec file $path]}]} { + set n [string length $path] + if {[string equal -length $n $path $type]} { + set type [string range $type $n end] + regsub {^:?\s*} $type {} type + } + $ui_diff insert end "* $type\n" d_@ + } + if {[string first "\0" $content] != -1} { + $ui_diff insert end \ + [mc "* Binary file (not showing content)."] \ + d_@ + } else { + if {$sz > $max_sz} { + $ui_diff insert end \ +"* Untracked file is $sz bytes. +* Showing only first $max_sz bytes. +" d_@ + } + $ui_diff insert end $content + if {$sz > $max_sz} { + $ui_diff insert end " +* Untracked file clipped here by [appname]. +* To see the entire file, use an external editor. +" d_@ + } + } + $ui_diff conf -state disabled + set diff_active 0 + unlock_index + ui_ready + return + } + + set cmd [list] + if {$w eq $ui_index} { + lappend cmd diff-index + lappend cmd --cached + } elseif {$w eq $ui_workdir} { + if {[string index $m 0] eq {U}} { + lappend cmd diff + } else { + lappend cmd diff-files + } + } + + lappend cmd -p + lappend cmd --no-color + if {$repo_config(gui.diffcontext) >= 0} { + lappend cmd "-U$repo_config(gui.diffcontext)" + } + if {$w eq $ui_index} { + lappend cmd [PARENT] + } + lappend cmd -- + lappend cmd $path + + if {[catch {set fd [eval git_read --nice $cmd]} err]} { + set diff_active 0 + unlock_index + ui_status [mc "Unable to display %s" [escape_path $path]] + error_popup [strcat [mc "Error loading diff:"] "\n\n$err"] + return + } + + fconfigure $fd \ + -blocking 0 \ + -encoding binary \ + -translation binary + fileevent $fd readable [list read_diff $fd] +} + +proc read_diff {fd} { + global ui_diff diff_active + global is_3way_diff current_diff_header + + $ui_diff conf -state normal + while {[gets $fd line] >= 0} { + # -- Cleanup uninteresting diff header lines. + # + if { [string match {diff --git *} $line] + || [string match {diff --cc *} $line] + || [string match {diff --combined *} $line] + || [string match {--- *} $line] + || [string match {+++ *} $line]} { + append current_diff_header $line "\n" + continue + } + if {[string match {index *} $line]} continue + if {$line eq {deleted file mode 120000}} { + set line "deleted symlink" + } + + # -- Automatically detect if this is a 3 way diff. + # + if {[string match {@@@ *} $line]} {set is_3way_diff 1} + + if {[string match {mode *} $line] + || [string match {new file *} $line] + || [regexp {^(old|new) mode *} $line] + || [string match {deleted file *} $line] + || [string match {deleted symlink} $line] + || [string match {Binary files * and * differ} $line] + || $line eq {\ No newline at end of file} + || [regexp {^\* Unmerged path } $line]} { + set tags {} + } elseif {$is_3way_diff} { + set op [string range $line 0 1] + switch -- $op { + { } {set tags {}} + {@@} {set tags d_@} + { +} {set tags d_s+} + { -} {set tags d_s-} + {+ } {set tags d_+s} + {- } {set tags d_-s} + {--} {set tags d_--} + {++} { + if {[regexp {^\+\+([<>]{7} |={7})} $line _g op]} { + set line [string replace $line 0 1 { }] + set tags d$op + } else { + set tags d_++ + } + } + default { + puts "error: Unhandled 3 way diff marker: {$op}" + set tags {} + } + } + } else { + set op [string index $line 0] + switch -- $op { + { } {set tags {}} + {@} {set tags d_@} + {-} {set tags d_-} + {+} { + if {[regexp {^\+([<>]{7} |={7})} $line _g op]} { + set line [string replace $line 0 0 { }] + set tags d$op + } else { + set tags d_+ + } + } + default { + puts "error: Unhandled 2 way diff marker: {$op}" + set tags {} + } + } + } + $ui_diff insert end $line $tags + if {[string index $line end] eq "\r"} { + $ui_diff tag add d_cr {end - 2c} + } + $ui_diff insert end "\n" $tags + } + $ui_diff conf -state disabled + + if {[eof $fd]} { + close $fd + set diff_active 0 + unlock_index + ui_ready + + if {[$ui_diff index end] eq {2.0}} { + handle_empty_diff + } + } +} + +proc apply_hunk {x y} { + global current_diff_path current_diff_header current_diff_side + global ui_diff ui_index file_states + + if {$current_diff_path eq {} || $current_diff_header eq {}} return + if {![lock_index apply_hunk]} return + + set apply_cmd {apply --cached --whitespace=nowarn} + set mi [lindex $file_states($current_diff_path) 0] + if {$current_diff_side eq $ui_index} { + set failed_msg [mc "Failed to unstage selected hunk."] + lappend apply_cmd --reverse + if {[string index $mi 0] ne {M}} { + unlock_index + return + } + } else { + set failed_msg [mc "Failed to stage selected hunk."] + if {[string index $mi 1] ne {M}} { + unlock_index + return + } + } + + set s_lno [lindex [split [$ui_diff index @$x,$y] .] 0] + set s_lno [$ui_diff search -backwards -regexp ^@@ $s_lno.0 0.0] + if {$s_lno eq {}} { + unlock_index + return + } + + set e_lno [$ui_diff search -forwards -regexp ^@@ "$s_lno + 1 lines" end] + if {$e_lno eq {}} { + set e_lno end + } + + if {[catch { + set p [eval git_write $apply_cmd] + fconfigure $p -translation binary -encoding binary + puts -nonewline $p $current_diff_header + puts -nonewline $p [$ui_diff get $s_lno $e_lno] + close $p} err]} { + error_popup [append $failed_msg "\n\n$err"] + unlock_index + return + } + + $ui_diff conf -state normal + $ui_diff delete $s_lno $e_lno + $ui_diff conf -state disabled + + if {[$ui_diff get 1.0 end] eq "\n"} { + set o _ + } else { + set o ? + } + + if {$current_diff_side eq $ui_index} { + set mi ${o}M + } elseif {[string index $mi 0] eq {_}} { + set mi M$o + } else { + set mi ?$o + } + unlock_index + display_file $current_diff_path $mi + if {$o eq {_}} { + clear_diff ++ } else { ++ set current_diff_path $current_diff_path + } +} diff --cc git-gui/lib/index.tcl index a0b22f294,000000000..30a244cc1 mode 100644,000000..100644 --- a/git-gui/lib/index.tcl +++ b/git-gui/lib/index.tcl @@@ -1,435 -1,0 +1,437 @@@ +# git-gui index (add/remove) support +# Copyright (C) 2006, 2007 Shawn Pearce + +proc _delete_indexlock {} { + if {[catch {file delete -- [gitdir index.lock]} err]} { + error_popup [strcat [mc "Unable to unlock the index."] "\n\n$err"] + } +} + +proc _close_updateindex {fd after} { + fconfigure $fd -blocking 1 + if {[catch {close $fd} err]} { + set w .indexfried + toplevel $w + wm title $w [strcat "[appname] ([reponame]): " [mc "Index Error"]] + wm geometry $w "+[winfo rootx .]+[winfo rooty .]" + pack [label $w.msg \ + -justify left \ + -anchor w \ + -text [strcat \ + [mc "Updating the Git index failed. A rescan will be automatically started to resynchronize git-gui."] \ + "\n\n$err"] \ + ] -anchor w + + frame $w.buttons + button $w.buttons.continue \ + -text [mc "Continue"] \ + -command [list destroy $w] + pack $w.buttons.continue -side right -padx 5 + button $w.buttons.unlock \ + -text [mc "Unlock Index"] \ + -command "destroy $w; _delete_indexlock" + pack $w.buttons.unlock -side right + pack $w.buttons -side bottom -fill x -pady 10 -padx 10 + + wm protocol $w WM_DELETE_WINDOW update + bind $w.buttons.continue " + grab $w + focus $w.buttons.continue + " + tkwait window $w + + $::main_status stop + unlock_index + rescan $after 0 + return + } + + $::main_status stop + unlock_index + uplevel #0 $after +} + +proc update_indexinfo {msg pathList after} { + global update_index_cp + + if {![lock_index update]} return + + set update_index_cp 0 + set pathList [lsort $pathList] + set totalCnt [llength $pathList] + set batch [expr {int($totalCnt * .01) + 1}] + if {$batch > 25} {set batch 25} + + $::main_status start $msg [mc "files"] + set fd [git_write update-index -z --index-info] + fconfigure $fd \ + -blocking 0 \ + -buffering full \ + -buffersize 512 \ + -encoding binary \ + -translation binary + fileevent $fd writable [list \ + write_update_indexinfo \ + $fd \ + $pathList \ + $totalCnt \ + $batch \ + $after \ + ] +} + +proc write_update_indexinfo {fd pathList totalCnt batch after} { + global update_index_cp + global file_states current_diff_path + + if {$update_index_cp >= $totalCnt} { + _close_updateindex $fd $after + return + } + + for {set i $batch} \ + {$update_index_cp < $totalCnt && $i > 0} \ + {incr i -1} { + set path [lindex $pathList $update_index_cp] + incr update_index_cp + + set s $file_states($path) + switch -glob -- [lindex $s 0] { + A? {set new _O} + M? {set new _M} + D_ {set new _D} + D? {set new _?} + ?? {continue} + } + set info [lindex $s 2] + if {$info eq {}} continue + + puts -nonewline $fd "$info\t[encoding convertto $path]\0" + display_file $path $new + } + + $::main_status update $update_index_cp $totalCnt +} + +proc update_index {msg pathList after} { + global update_index_cp + + if {![lock_index update]} return + + set update_index_cp 0 + set pathList [lsort $pathList] + set totalCnt [llength $pathList] + set batch [expr {int($totalCnt * .01) + 1}] + if {$batch > 25} {set batch 25} + + $::main_status start $msg [mc "files"] + set fd [git_write update-index --add --remove -z --stdin] + fconfigure $fd \ + -blocking 0 \ + -buffering full \ + -buffersize 512 \ + -encoding binary \ + -translation binary + fileevent $fd writable [list \ + write_update_index \ + $fd \ + $pathList \ + $totalCnt \ + $batch \ + $after \ + ] +} + +proc write_update_index {fd pathList totalCnt batch after} { + global update_index_cp + global file_states current_diff_path + + if {$update_index_cp >= $totalCnt} { + _close_updateindex $fd $after + return + } + + for {set i $batch} \ + {$update_index_cp < $totalCnt && $i > 0} \ + {incr i -1} { + set path [lindex $pathList $update_index_cp] + incr update_index_cp + + switch -glob -- [lindex $file_states($path) 0] { + AD {set new __} + ?D {set new D_} + _O - + AM {set new A_} + U? { + if {[file exists $path]} { + set new M_ + } else { + set new D_ + } + } + ?M {set new M_} + ?? {continue} + } + puts -nonewline $fd "[encoding convertto $path]\0" + display_file $path $new + } + + $::main_status update $update_index_cp $totalCnt +} + +proc checkout_index {msg pathList after} { + global update_index_cp + + if {![lock_index update]} return + + set update_index_cp 0 + set pathList [lsort $pathList] + set totalCnt [llength $pathList] + set batch [expr {int($totalCnt * .01) + 1}] + if {$batch > 25} {set batch 25} + + $::main_status start $msg [mc "files"] + set fd [git_write checkout-index \ + --index \ + --quiet \ + --force \ + -z \ + --stdin \ + ] + fconfigure $fd \ + -blocking 0 \ + -buffering full \ + -buffersize 512 \ + -encoding binary \ + -translation binary + fileevent $fd writable [list \ + write_checkout_index \ + $fd \ + $pathList \ + $totalCnt \ + $batch \ + $after \ + ] +} + +proc write_checkout_index {fd pathList totalCnt batch after} { + global update_index_cp + global file_states current_diff_path + + if {$update_index_cp >= $totalCnt} { + _close_updateindex $fd $after + return + } + + for {set i $batch} \ + {$update_index_cp < $totalCnt && $i > 0} \ + {incr i -1} { + set path [lindex $pathList $update_index_cp] + incr update_index_cp + switch -glob -- [lindex $file_states($path) 0] { + U? {continue} + ?M - + ?D { + puts -nonewline $fd "[encoding convertto $path]\0" + display_file $path ?_ + } + } + } + + $::main_status update $update_index_cp $totalCnt +} + +proc unstage_helper {txt paths} { + global file_states current_diff_path + + if {![lock_index begin-update]} return + + set pathList [list] + set after {} + foreach path $paths { + switch -glob -- [lindex $file_states($path) 0] { + A? - + M? - + D? { + lappend pathList $path + if {$path eq $current_diff_path} { + set after {reshow_diff;} + } + } + } + } + if {$pathList eq {}} { + unlock_index + } else { + update_indexinfo \ + $txt \ + $pathList \ + [concat $after [list ui_ready]] + } +} + +proc do_unstage_selection {} { + global current_diff_path selected_paths + + if {[array size selected_paths] > 0} { + unstage_helper \ + {Unstaging selected files from commit} \ + [array names selected_paths] + } elseif {$current_diff_path ne {}} { + unstage_helper \ + [mc "Unstaging %s from commit" [short_path $current_diff_path]] \ + [list $current_diff_path] + } +} + +proc add_helper {txt paths} { + global file_states current_diff_path + + if {![lock_index begin-update]} return + + set pathList [list] + set after {} + foreach path $paths { + switch -glob -- [lindex $file_states($path) 0] { + _O - + ?M - + ?D - + U? { + lappend pathList $path + if {$path eq $current_diff_path} { + set after {reshow_diff;} + } + } + } + } + if {$pathList eq {}} { + unlock_index + } else { + update_index \ + $txt \ + $pathList \ + [concat $after {ui_status {Ready to commit.}}] + } +} + +proc do_add_selection {} { + global current_diff_path selected_paths + + if {[array size selected_paths] > 0} { + add_helper \ + {Adding selected files} \ + [array names selected_paths] + } elseif {$current_diff_path ne {}} { + add_helper \ + [mc "Adding %s" [short_path $current_diff_path]] \ + [list $current_diff_path] + } +} + +proc do_add_all {} { + global file_states + + set paths [list] + foreach path [array names file_states] { + switch -glob -- [lindex $file_states($path) 0] { + U? {continue} + ?M - + ?D {lappend paths $path} + } + } + add_helper {Adding all changed files} $paths +} + +proc revert_helper {txt paths} { + global file_states current_diff_path + + if {![lock_index begin-update]} return + + set pathList [list] + set after {} + foreach path $paths { + switch -glob -- [lindex $file_states($path) 0] { + U? {continue} + ?M - + ?D { + lappend pathList $path + if {$path eq $current_diff_path} { + set after {reshow_diff;} + } + } + } + } + + + # Split question between singular and plural cases, because + # such distinction is needed in some languages. Previously, the + # code used "Revert changes in" for both, but that can't work + # in languages where 'in' must be combined with word from + # rest of string (in diffrent way for both cases of course). + # + # FIXME: Unfortunately, even that isn't enough in some languages + # as they have quite complex plural-form rules. Unfortunately, + # msgcat doesn't seem to support that kind of string translation. + # + set n [llength $pathList] + if {$n == 0} { + unlock_index + return + } elseif {$n == 1} { + set query [mc "Revert changes in file %s?" [short_path [lindex $pathList]]] + } else { + set query [mc "Revert changes in these %i files?" $n] + } + + set reply [tk_dialog \ + .confirm_revert \ + "[appname] ([reponame])" \ - [mc "Any unstaged changes will be permanently lost by the revert."] \ ++ "$query ++ ++[mc "Any unstaged changes will be permanently lost by the revert."]" \ + question \ + 1 \ + [mc "Do Nothing"] \ + [mc "Revert Changes"] \ + ] + if {$reply == 1} { + checkout_index \ + $txt \ + $pathList \ + [concat $after [list ui_ready]] + } else { + unlock_index + } +} + +proc do_revert_selection {} { + global current_diff_path selected_paths + + if {[array size selected_paths] > 0} { + revert_helper \ + {Reverting selected files} \ + [array names selected_paths] + } elseif {$current_diff_path ne {}} { + revert_helper \ + "Reverting [short_path $current_diff_path]" \ + [list $current_diff_path] + } +} + +proc do_select_commit_type {} { + global commit_type selected_commit_type + + if {$selected_commit_type eq {new} + && [string match amend* $commit_type]} { + create_new_commit + } elseif {$selected_commit_type eq {amend} + && ![string match amend* $commit_type]} { + load_last_commit + + # The amend request was rejected... + # + if {![string match amend* $commit_type]} { + set selected_commit_type new + } + } +} diff --cc git-gui/po/de.po index ac8ae0a20,000000000..2dfe07e06 mode 100644,000000..100644 --- a/git-gui/po/de.po +++ b/git-gui/po/de.po @@@ -1,1904 -1,0 +1,1903 @@@ +# Translation of git-gui to German. +# Copyright (C) 2007 Shawn Pearce, et al. +# This file is distributed under the same license as the git package. +# Christian Stimming , 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-11-24 10:36+0100\n" - "PO-Revision-Date: 2007-11-24 10:55+0100\n" ++"PO-Revision-Date: 2008-01-15 20:33+0100\n" +"Last-Translator: Christian Stimming \n" +"Language-Team: German\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 +#: git-gui.sh:733 +msgid "git-gui: fatal error" +msgstr "git-gui: Programmfehler" + +#: git-gui.sh:565 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "Ungültige Zeichensatz-Angabe in %s:" + +#: git-gui.sh:590 +msgid "Main Font" +msgstr "Programmschriftart" + +#: git-gui.sh:591 +msgid "Diff/Console Font" +msgstr "Vergleich-Schriftart" + +#: git-gui.sh:605 +msgid "Cannot find git in PATH." +msgstr "Git kann im PATH nicht gefunden werden." + +#: git-gui.sh:632 +msgid "Cannot parse Git version string:" +msgstr "Git Versionsangabe kann nicht erkannt werden:" + +#: git-gui.sh:650 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"Die Version von Git kann nicht bestimmt werden.\n" +"\n" +"»%s« behauptet, es sei Version »%s«.\n" +"\n" +"%s benötigt mindestens Git 1.5.0 oder höher.\n" +"\n" +"Soll angenommen werden, »%s« sei Version 1.5.0?\n" + +#: git-gui.sh:888 +msgid "Git directory not found:" +msgstr "Git-Verzeichnis nicht gefunden:" + +#: git-gui.sh:895 +msgid "Cannot move to top of working directory:" +msgstr "" +"Es konnte nicht in das oberste Verzeichnis der Arbeitskopie gewechselt " +"werden:" + +#: git-gui.sh:902 +msgid "Cannot use funny .git directory:" +msgstr "Unerwartete Struktur des .git Verzeichnis:" + +#: git-gui.sh:907 +msgid "No working directory" +msgstr "Kein Arbeitsverzeichnis" + +#: git-gui.sh:1054 +msgid "Refreshing file status..." +msgstr "Dateistatus aktualisieren..." + +#: git-gui.sh:1119 +msgid "Scanning for modified files ..." +msgstr "Nach geänderten Dateien suchen..." + +#: git-gui.sh:1294 lib/browser.tcl:245 +msgid "Ready." +msgstr "Bereit." + +#: git-gui.sh:1560 +msgid "Unmodified" +msgstr "Unverändert" + +#: git-gui.sh:1562 +msgid "Modified, not staged" +msgstr "Verändert, nicht bereitgestellt" + +#: git-gui.sh:1563 git-gui.sh:1568 +msgid "Staged for commit" +msgstr "Bereitgestellt zum Eintragen" + +#: git-gui.sh:1564 git-gui.sh:1569 +msgid "Portions staged for commit" +msgstr "Teilweise bereitgestellt zum Eintragen" + +#: git-gui.sh:1565 git-gui.sh:1570 +msgid "Staged for commit, missing" +msgstr "Bereitgestellt zum Eintragen, fehlend" + +#: git-gui.sh:1567 +msgid "Untracked, not staged" +msgstr "Nicht unter Versionskontrolle, nicht bereitgestellt" + +#: git-gui.sh:1572 +msgid "Missing" +msgstr "Fehlend" + +#: git-gui.sh:1573 +msgid "Staged for removal" +msgstr "Bereitgestellt zum Löschen" + +#: git-gui.sh:1574 +msgid "Staged for removal, still present" +msgstr "Bereitgestellt zum Löschen, trotzdem vorhanden" + +#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +msgid "Requires merge resolution" +msgstr "Konfliktauflösung nötig" + +#: git-gui.sh:1614 +msgid "Starting gitk... please wait..." +msgstr "Gitk wird gestartet... bitte warten." + +#: git-gui.sh:1623 +#, tcl-format +msgid "" +"Unable to start gitk:\n" +"\n" +"%s does not exist" +msgstr "" +"Gitk kann nicht gestartet werden:\n" +"\n" +"%s existiert nicht" + +#: git-gui.sh:1823 lib/choose_repository.tcl:35 +msgid "Repository" +msgstr "Projektarchiv" + +#: git-gui.sh:1824 +msgid "Edit" +msgstr "Bearbeiten" + +#: git-gui.sh:1826 lib/choose_rev.tcl:560 +msgid "Branch" +msgstr "Zweig" + +#: git-gui.sh:1829 lib/choose_rev.tcl:547 +msgid "Commit@@noun" +msgstr "Version" + +#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "Zusammenführen" + +#: git-gui.sh:1833 lib/choose_rev.tcl:556 +msgid "Remote" +msgstr "Andere Archive" + +#: git-gui.sh:1842 +msgid "Browse Current Branch's Files" +msgstr "Aktuellen Zweig durchblättern" + +#: git-gui.sh:1846 +msgid "Browse Branch Files..." +msgstr "Einen Zweig durchblättern..." + +#: git-gui.sh:1851 +msgid "Visualize Current Branch's History" +msgstr "Aktuellen Zweig darstellen" + +#: git-gui.sh:1855 +msgid "Visualize All Branch History" +msgstr "Alle Zweige darstellen" + +#: git-gui.sh:1862 +#, tcl-format +msgid "Browse %s's Files" +msgstr "Zweig »%s« durchblättern" + +#: git-gui.sh:1864 +#, tcl-format +msgid "Visualize %s's History" +msgstr "Historie von »%s« darstellen" + +#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "Datenbankstatistik" + +#: git-gui.sh:1872 lib/database.tcl:34 +msgid "Compress Database" +msgstr "Datenbank komprimieren" + +#: git-gui.sh:1875 +msgid "Verify Database" +msgstr "Datenbank überprüfen" + +#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 +msgid "Create Desktop Icon" +msgstr "Desktop-Icon erstellen" + +#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +msgid "Quit" +msgstr "Beenden" + +#: git-gui.sh:1902 +msgid "Undo" +msgstr "Rückgängig" + +#: git-gui.sh:1905 +msgid "Redo" +msgstr "Wiederholen" + +#: git-gui.sh:1909 git-gui.sh:2403 +msgid "Cut" +msgstr "Ausschneiden" + +#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 +#: lib/console.tcl:67 +msgid "Copy" +msgstr "Kopieren" + +#: git-gui.sh:1915 git-gui.sh:2409 +msgid "Paste" +msgstr "Einfügen" + +#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "Löschen" + +#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +msgid "Select All" +msgstr "Alle auswählen" + +#: git-gui.sh:1931 +msgid "Create..." +msgstr "Erstellen..." + +#: git-gui.sh:1937 +msgid "Checkout..." +msgstr "Umstellen..." + +#: git-gui.sh:1943 +msgid "Rename..." +msgstr "Umbenennen..." + +#: git-gui.sh:1948 git-gui.sh:2048 +msgid "Delete..." +msgstr "Löschen..." + +#: git-gui.sh:1953 +msgid "Reset..." +msgstr "Zurücksetzen..." + +#: git-gui.sh:1965 git-gui.sh:2350 +msgid "New Commit" +msgstr "Neue Version" + +#: git-gui.sh:1973 git-gui.sh:2357 +msgid "Amend Last Commit" - msgstr "Letzte Version nachbessern" ++msgstr "Letzte nachbessern" + +#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "Neu laden" + +#: git-gui.sh:1988 +msgid "Stage To Commit" +msgstr "Zum Eintragen bereitstellen" + +#: git-gui.sh:1994 +msgid "Stage Changed Files To Commit" - msgstr "Geänderte Dateien zum Eintragen bereitstellen" ++msgstr "Geänderte Dateien bereitstellen" + +#: git-gui.sh:2000 +msgid "Unstage From Commit" +msgstr "Aus der Bereitstellung herausnehmen" + +#: git-gui.sh:2005 lib/index.tcl:393 +msgid "Revert Changes" - msgstr "Änderungen revidieren" ++msgstr "Änderungen verwerfen" + +#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +msgid "Sign Off" +msgstr "Abzeichnen" + +#: git-gui.sh:2016 git-gui.sh:2333 +msgid "Commit@@verb" +msgstr "Eintragen" + +#: git-gui.sh:2027 +msgid "Local Merge..." +msgstr "Lokales Zusammenführen..." + +#: git-gui.sh:2032 +msgid "Abort Merge..." +msgstr "Zusammenführen abbrechen..." + +#: git-gui.sh:2044 +msgid "Push..." +msgstr "Versenden..." + +#: git-gui.sh:2055 lib/choose_repository.tcl:40 +msgid "Apple" +msgstr "Apple" + +#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 +#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#, tcl-format +msgid "About %s" +msgstr "Über %s" + +#: git-gui.sh:2062 +msgid "Preferences..." +msgstr "Einstellungen..." + +#: git-gui.sh:2070 git-gui.sh:2595 +msgid "Options..." +msgstr "Optionen..." + +#: git-gui.sh:2076 lib/choose_repository.tcl:46 +msgid "Help" +msgstr "Hilfe" + +#: git-gui.sh:2117 +msgid "Online Documentation" +msgstr "Online-Dokumentation" + +#: git-gui.sh:2201 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "Fehler: Verzeichnis »%s« kann nicht gelesen werden: Datei oder Verzeichnis nicht gefunden" + +#: git-gui.sh:2234 +msgid "Current Branch:" +msgstr "Aktueller Zweig:" + +#: git-gui.sh:2255 +msgid "Staged Changes (Will Commit)" - msgstr "Bereitgestellte Änderungen (zum Eintragen)" ++msgstr "Bereitstellung (zum Eintragen)" + +#: git-gui.sh:2274 +msgid "Unstaged Changes" +msgstr "Nicht bereitgestellte Änderungen" + +#: git-gui.sh:2323 +msgid "Stage Changed" +msgstr "Alles bereitstellen" + +#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +msgid "Push" +msgstr "Versenden" + +#: git-gui.sh:2369 +msgid "Initial Commit Message:" +msgstr "Erste Versionsbeschreibung:" + +#: git-gui.sh:2370 +msgid "Amended Commit Message:" +msgstr "Nachgebesserte Versionsbeschreibung:" + +#: git-gui.sh:2371 +msgid "Amended Initial Commit Message:" +msgstr "Nachgebesserte erste Versionsbeschreibung:" + +#: git-gui.sh:2372 +msgid "Amended Merge Commit Message:" +msgstr "Nachgebesserte Zusammenführungs-Versionsbeschreibung:" + +#: git-gui.sh:2373 +msgid "Merge Commit Message:" +msgstr "Zusammenführungs-Versionsbeschreibung:" + +#: git-gui.sh:2374 +msgid "Commit Message:" +msgstr "Versionsbeschreibung:" + +#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +msgid "Copy All" +msgstr "Alle kopieren" + +#: git-gui.sh:2443 lib/blame.tcl:104 +msgid "File:" +msgstr "Datei:" + +#: git-gui.sh:2545 +msgid "Refresh" +msgstr "Aktualisieren" + +#: git-gui.sh:2566 +msgid "Apply/Reverse Hunk" - msgstr "Änderung anwenden/umkehren" ++msgstr "Kontext anwenden/umkehren" + +#: git-gui.sh:2572 +msgid "Decrease Font Size" +msgstr "Schriftgröße verkleinern" + +#: git-gui.sh:2576 +msgid "Increase Font Size" +msgstr "Schriftgröße vergrößern" + +#: git-gui.sh:2581 +msgid "Show Less Context" - msgstr "Weniger Kontext anzeigen" ++msgstr "Weniger Zeilen anzeigen" + +#: git-gui.sh:2588 +msgid "Show More Context" - msgstr "Mehr Kontext anzeigen" ++msgstr "Mehr Zeilen anzeigen" + +#: git-gui.sh:2602 +msgid "Unstage Hunk From Commit" - msgstr "Aus der Bereitstellung herausnehmen" ++msgstr "Kontext aus Bereitstellung herausnehmen" + +#: git-gui.sh:2604 +msgid "Stage Hunk For Commit" - msgstr "In die Bereitstellung hinzufügen" ++msgstr "Kontext zur Bereitstellung hinzufügen" + +#: git-gui.sh:2623 +msgid "Initializing..." +msgstr "Initialisieren..." + +#: git-gui.sh:2718 +#, tcl-format +msgid "" +"Possible environment issues exist.\n" +"\n" +"The following environment variables are probably\n" +"going to be ignored by any Git subprocess run\n" +"by %s:\n" +"\n" +msgstr "" +"Möglicherweise gibt es Probleme mit manchen Umgebungsvariablen.\n" +"\n" +"Die folgenden Umgebungsvariablen können vermutlich nicht \n" +"von %s an Git weitergegeben werden:\n" +"\n" + +#: git-gui.sh:2748 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" +"\n" +"Dies ist ein bekanntes Problem der Tcl-Version, die\n" +"in Cygwin mitgeliefert wird." + +#: git-gui.sh:2753 +#, tcl-format +msgid "" +"\n" +"\n" +"A good replacement for %s\n" +"is placing values for the user.name and\n" +"user.email settings into your personal\n" +"~/.gitconfig file.\n" +msgstr "" +"\n" +"\n" +"Um den Namen »%s« zu ändern, sollten Sie die \n" +"gewünschten Werte für die Einstellung user.name und \n" +"user.email in Ihre Datei ~/.gitconfig einfügen.\n" + +#: lib/about.tcl:25 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - eine grafische Oberfläche für Git." + +#: lib/blame.tcl:77 +msgid "File Viewer" +msgstr "Datei-Browser" + +#: lib/blame.tcl:81 +msgid "Commit:" +msgstr "Version:" + +#: lib/blame.tcl:249 +msgid "Copy Commit" +msgstr "Version kopieren" + +#: lib/blame.tcl:369 +#, tcl-format +msgid "Reading %s..." +msgstr "%s lesen..." + +#: lib/blame.tcl:473 +msgid "Loading copy/move tracking annotations..." +msgstr "Annotierungen für Kopieren/Verschieben werden geladen..." + +#: lib/blame.tcl:493 +msgid "lines annotated" +msgstr "Zeilen annotiert" + +#: lib/blame.tcl:674 +msgid "Loading original location annotations..." +msgstr "Annotierungen für ursprünglichen Ort werden geladen..." + +#: lib/blame.tcl:677 +msgid "Annotation complete." +msgstr "Annotierung vollständig." + +#: lib/blame.tcl:731 +msgid "Loading annotation..." +msgstr "Annotierung laden..." + +#: lib/blame.tcl:787 +msgid "Author:" +msgstr "Autor:" + +#: lib/blame.tcl:791 +msgid "Committer:" +msgstr "Eintragender:" + +#: lib/blame.tcl:796 +msgid "Original File:" +msgstr "Ursprüngliche Datei:" + +#: lib/blame.tcl:910 +msgid "Originally By:" +msgstr "Ursprünglich von:" + +#: lib/blame.tcl:916 +msgid "In File:" +msgstr "In Datei:" + +#: lib/blame.tcl:921 +msgid "Copied Or Moved Here By:" +msgstr "Kopiert oder verschoben durch:" + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "Zweig umstellen" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "Umstellen" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +msgid "Cancel" +msgstr "Abbrechen" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +msgid "Revision" +msgstr "Version" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +msgid "Options" +msgstr "Optionen" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Übernahmezweig anfordern" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "Verbindung zu lokalem Zweig lösen" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "Zweig erstellen" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "Neuen Zweig erstellen" + +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +msgid "Create" +msgstr "Erstellen" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "Zweigname" + +#: lib/branch_create.tcl:43 +msgid "Name:" +msgstr "Name:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "Passend zu Übernahmezweig-Name" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "Anfangsversion" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Existierenden Zweig aktualisieren:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "Nein" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Nur Schnellzusammenführung" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 +msgid "Reset" +msgstr "Zurücksetzen" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "Arbeitskopie umstellen nach Erstellen" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "Bitte wählen Sie einen Übernahmezweig." + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "Übernahmezweig »%s« ist kein Zweig im anderen Projektarchiv." + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "Bitte geben Sie einen Zweignamen an." + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "»%s« ist kein zulässiger Zweigname." + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "Zweig löschen" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "Lokalen Zweig löschen" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "Lokale Zweige" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "Nur löschen, wenn darin zusammengeführt" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "Immer (ohne Zusammenführungstest)" + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "Folgende Zweige sind noch nicht mit »%s« zusammengeführt:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"Gelöschte Zweige können nur mit größerem Aufwand wiederhergestellt werden.\n" +"\n" +"Gewählte Zweige jetzt löschen?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"Fehler beim Löschen der Zweige:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "Zweig umbenennen" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "Umbenennen" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "Zweig:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "Neuer Name:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "Bitte wählen Sie einen Zweig zum umbenennen." + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "Zweig »%s« existiert bereits." + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "Fehler beim Umbenennen von »%s«." + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "Starten..." + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "Datei-Browser" + +#: lib/browser.tcl:125 lib/browser.tcl:142 +#, tcl-format +msgid "Loading %s..." +msgstr "%s laden..." + +#: lib/browser.tcl:186 +msgid "[Up To Parent]" +msgstr "[Nach oben]" + +#: lib/browser.tcl:266 lib/browser.tcl:272 +msgid "Browse Branch Files" +msgstr "Dateien des Zweigs durchblättern" + +#: lib/browser.tcl:277 lib/choose_repository.tcl:391 +#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 +#: lib/choose_repository.tcl:989 +msgid "Browse" +msgstr "Blättern" + +#: lib/checkout_op.tcl:79 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "Änderungen »%s« von »%s« anfordern" + +#: lib/checkout_op.tcl:127 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "Fehler: »%s« kann nicht als Zweig oder Version erkannt werden" + +#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +msgid "Close" +msgstr "Schließen" + +#: lib/checkout_op.tcl:169 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "Zweig »%s« existiert nicht." + +#: lib/checkout_op.tcl:206 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"Zweig »%s« existiert bereits.\n" +"\n" +"Zweig kann nicht mit »%s« schnellzusammengeführt werden. Reguläres " +"Zusammenführen ist notwendig." + +#: lib/checkout_op.tcl:220 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "Zusammenführungsmethode »%s« nicht unterstützt." + +#: lib/checkout_op.tcl:239 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Aktualisieren von »%s« fehlgeschlagen." + +#: lib/checkout_op.tcl:251 +msgid "Staging area (index) is already locked." +msgstr "Bereitstellung (»index«) ist zur Bearbeitung gesperrt (»locked«)." + +#: lib/checkout_op.tcl:266 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n" +"\n" +"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden " +"geändert. Vor dem Wechseln des lokalen Zweigs muss neu geladen werden.\n" +"\n" +"Es wird gleich neu geladen.\n" + +#: lib/checkout_op.tcl:322 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "Arbeitskopie umstellen auf »%s«..." + +#: lib/checkout_op.tcl:353 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "" +"Zweig umstellen von »%s« abgebrochen (Zusammenführen der Dateien ist " +"notwendig)." + +#: lib/checkout_op.tcl:354 +msgid "File level merge required." +msgstr "Zusammenführen der Dateien ist notwendig." + +#: lib/checkout_op.tcl:358 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Es wird auf Zweig »%s« verblieben." + +#: lib/checkout_op.tcl:429 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Die Arbeitskopie ist nicht auf einem lokalen Zweig.\n" +"\n" +"Wenn Sie auf einem Zweig arbeiten möchten, erstellen Sie bitte jetzt einen " +"Zweig mit der Auswahl »Abgetrennte Arbeitskopie-Version«." + +#: lib/checkout_op.tcl:446 +#, tcl-format +msgid "Checked out '%s'." +msgstr "Umgestellt auf »%s«." + +#: lib/checkout_op.tcl:478 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "Zurücksetzen von »%s« nach »%s« wird folgende Versionen verwerfen:" + +#: lib/checkout_op.tcl:500 +msgid "Recovering lost commits may not be easy." +msgstr "" +"Verworfene Versionen können nur mit größerem Aufwand wiederhergestellt " +"werden." + +#: lib/checkout_op.tcl:505 +#, tcl-format +msgid "Reset '%s'?" +msgstr "»%s« zurücksetzen?" + +#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +msgid "Visualize" +msgstr "Darstellen" + +#: lib/checkout_op.tcl:578 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Lokaler Zweig kann nicht gesetzt werden.\n" +"\n" +"Diese Arbeitskopie ist nur teilweise umgestellt. Die Dateien sind korrekt " +"aktualisiert, aber einige interne Git-Dateien konnten nicht geändert " +"werden.\n" +"\n" +"Dies ist ein interner Programmfehler von %s. Programm wird jetzt abgebrochen." + +#: lib/choose_font.tcl:39 +msgid "Select" +msgstr "Auswählen" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "Schriftfamilie" + +#: lib/choose_font.tcl:73 +msgid "Font Size" +msgstr "Schriftgröße" + +#: lib/choose_font.tcl:90 +msgid "Font Example" +msgstr "Schriftbeispiel" + +#: lib/choose_font.tcl:101 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" +"Dies ist ein Beispieltext.\n" +"Wenn Ihnen dieser Text gefällt, sollten Sie diese Schriftart wählen." + +#: lib/choose_repository.tcl:27 +msgid "Git Gui" +msgstr "Git Gui" + +#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +msgid "Create New Repository" +msgstr "Neues Projektarchiv" + +#: lib/choose_repository.tcl:86 +msgid "New..." +msgstr "Neu..." + +#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +msgid "Clone Existing Repository" - msgstr "Projektarchiv kopieren" ++msgstr "Projektarchiv klonen" + +#: lib/choose_repository.tcl:99 +msgid "Clone..." - msgstr "Kopieren..." ++msgstr "Klonen..." + +#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +msgid "Open Existing Repository" +msgstr "Projektarchiv öffnen" + +#: lib/choose_repository.tcl:112 +msgid "Open..." +msgstr "Öffnen..." + +#: lib/choose_repository.tcl:125 +msgid "Recent Repositories" +msgstr "Zuletzt benutzte Projektarchive" + +#: lib/choose_repository.tcl:131 +msgid "Open Recent Repository:" +msgstr "Zuletzt benutztes Projektarchiv öffnen:" + +#: lib/choose_repository.tcl:294 +#, tcl-format +msgid "Location %s already exists." +msgstr "Projektarchiv »%s« existiert bereits." + +#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 +#: lib/choose_repository.tcl:314 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "Projektarchiv »%s« konnte nicht erstellt werden:" + +#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +msgid "Directory:" +msgstr "Verzeichnis:" + +#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1013 +msgid "Git Repository" +msgstr "Git Projektarchiv" + +#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#, tcl-format +msgid "Directory %s already exists." +msgstr "Verzeichnis »%s« existiert bereits." + +#: lib/choose_repository.tcl:442 +#, tcl-format +msgid "File %s already exists." +msgstr "Datei »%s« existiert bereits." + +#: lib/choose_repository.tcl:463 +msgid "Clone" - msgstr "Kopieren" ++msgstr "Klonen" + +#: lib/choose_repository.tcl:476 +msgid "URL:" +msgstr "URL:" + +#: lib/choose_repository.tcl:496 +msgid "Clone Type:" - msgstr "Art der Kopie:" ++msgstr "Art des Klonens:" + +#: lib/choose_repository.tcl:502 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "Standard (schnell, teilweise redundant, Hardlinks)" + +#: lib/choose_repository.tcl:508 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "Alles kopieren (langsamer, volle Redundanz)" + +#: lib/choose_repository.tcl:514 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "Verknüpft (schnell, nicht empfohlen, kein Backup)" + +#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 +#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 +#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "Kein Git-Projektarchiv in »%s« gefunden." + +#: lib/choose_repository.tcl:586 +msgid "Standard only available for local repository." +msgstr "Standard ist nur für lokale Projektarchive verfügbar." + +#: lib/choose_repository.tcl:590 +msgid "Shared only available for local repository." +msgstr "Verknüpft ist nur für lokale Projektarchive verfügbar." + +#: lib/choose_repository.tcl:617 +msgid "Failed to configure origin" +msgstr "Der Ursprungsort konnte nicht eingerichtet werden" + +#: lib/choose_repository.tcl:629 +msgid "Counting objects" +msgstr "Objekte werden gezählt" + +#: lib/choose_repository.tcl:630 +msgid "buckets" +msgstr "Buckets" + +#: lib/choose_repository.tcl:654 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "Kopien von Objekten/Info/Alternates konnten nicht erstellt werden: %s" + +#: lib/choose_repository.tcl:690 +#, tcl-format +msgid "Nothing to clone from %s." - msgstr "Von »%s« konnte nichts kopiert werden." ++msgstr "Von »%s« konnte nichts geklont werden." + +#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 +#: lib/choose_repository.tcl:918 +msgid "The 'master' branch has not been initialized." +msgstr "Der »master«-Zweig wurde noch nicht initialisiert." + +#: lib/choose_repository.tcl:705 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "Hardlinks nicht verfügbar. Stattdessen wird kopiert." + +#: lib/choose_repository.tcl:717 +#, tcl-format +msgid "Cloning from %s" +msgstr "Kopieren von »%s«" + +#: lib/choose_repository.tcl:748 +msgid "Copying objects" +msgstr "Objektdatenbank kopieren" + +#: lib/choose_repository.tcl:749 +msgid "KiB" +msgstr "KB" + +#: lib/choose_repository.tcl:773 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "Objekt kann nicht kopiert werden: %s" + +#: lib/choose_repository.tcl:783 +msgid "Linking objects" +msgstr "Objekte verlinken" + +#: lib/choose_repository.tcl:784 +msgid "objects" +msgstr "Objekte" + +#: lib/choose_repository.tcl:792 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "Für Objekt konnte kein Hardlink erstellt werden: %s" + +#: lib/choose_repository.tcl:847 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "Zweige und Objekte konnten nicht angefordert werden. Kontrollieren Sie die Ausgaben auf der Konsole für weitere Angaben." + +#: lib/choose_repository.tcl:858 +msgid "Cannot fetch tags. See console output for details." +msgstr "Markierungen konnten nicht angefordert werden. Kontrollieren Sie die Ausgaben auf der Konsole für weitere Angaben." + +#: lib/choose_repository.tcl:882 +msgid "Cannot determine HEAD. See console output for details." +msgstr "Die Zweigspitze (HEAD) konnte nicht gefunden werden. Kontrollieren Sie die Ausgaben auf der Konsole für weitere Angaben." + +#: lib/choose_repository.tcl:891 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "Verzeichnis »%s« kann nicht aufgeräumt werden." + +#: lib/choose_repository.tcl:897 +msgid "Clone failed." - msgstr "Kopieren fehlgeschlagen." ++msgstr "Klonen fehlgeschlagen." + +#: lib/choose_repository.tcl:904 +msgid "No default branch obtained." +msgstr "Kein voreingestellter Zweig gefunden." + +#: lib/choose_repository.tcl:915 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "»%s« wurde nicht als Version gefunden." + +#: lib/choose_repository.tcl:927 +msgid "Creating working directory" +msgstr "Arbeitskopie erstellen" + +#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/index.tcl:193 +msgid "files" +msgstr "Dateien" + +#: lib/choose_repository.tcl:957 +msgid "Initial file checkout failed." +msgstr "Erstellen der Arbeitskopie fehlgeschlagen." + +#: lib/choose_repository.tcl:973 +msgid "Open" +msgstr "Öffnen" + +#: lib/choose_repository.tcl:983 +msgid "Repository:" +msgstr "Projektarchiv:" + +#: lib/choose_repository.tcl:1033 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "Projektarchiv »%s« konnte nicht geöffnet werden." + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "Abgetrennte Arbeitskopie-Version" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "Version Regexp-Ausdruck:" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "Lokaler Zweig" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "Übernahmezweig" + +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +msgid "Tag" +msgstr "Markierung" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Ungültige Version: %s" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "Keine Version ausgewählt." + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "Versions-Ausdruck ist leer." + +#: lib/choose_rev.tcl:530 +msgid "Updated" +msgstr "Aktualisiert" + +#: lib/choose_rev.tcl:558 +msgid "URL" +msgstr "URL" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Keine Version zur Nachbesserung vorhanden.\n" +"\n" +"Sie sind dabei, die erste Version zu übertragen. Es gibt keine existierende " +"Version, die Sie nachbessern könnten.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Nachbesserung währen Zusammenführung nicht möglich.\n" +"\n" +"Sie haben das Zusammenführen von Versionen angefangen, aber noch nicht " +"beendet. Sie können keine vorige Übertragung nachbessern, solange eine " +"unfertige Zusammenführung existiert. Dazu müssen Sie die Zusammenführung " +"beenden oder abbrechen.\n" + +#: lib/commit.tcl:49 +msgid "Error loading commit data for amend:" +msgstr "Fehler beim Laden der Versionsdaten für Nachbessern:" + +#: lib/commit.tcl:76 +msgid "Unable to obtain your identity:" +msgstr "Benutzername konnte nicht bestimmt werden:" + +#: lib/commit.tcl:81 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "Ungültiger Wert von GIT_COMMITTER_INDENT:" + +#: lib/commit.tcl:133 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n" +"\n" +"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden " +"geändert. Vor dem Eintragen einer neuen Version muss neu geladen werden.\n" +"\n" +"Es wird gleich neu geladen.\n" + +#: lib/commit.tcl:154 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"Nicht zusammengeführte Dateien können nicht eingetragen werden.\n" +"\n" +"Die Datei »%s« hat noch nicht aufgelöste Zusammenführungs-Konflikte. Sie " +"müssen diese Konflikte auflösen, bevor Sie eintragen können.\n" + +#: lib/commit.tcl:162 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Unbekannter Dateizustand »%s«.\n" +"\n" +"Datei »%s« kann nicht eingetragen werden.\n" + +#: lib/commit.tcl:170 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"Keine Änderungen vorhanden, die eingetragen werden könnten.\n" +"\n" +"Sie müssen mindestens eine Datei bereitstellen, bevor Sie eintragen können.\n" + +#: lib/commit.tcl:183 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentence what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Bitte geben Sie eine Versionsbeschreibung ein.\n" +"\n" +"Eine gute Versionsbeschreibung enthält folgende Abschnitte:\n" +"\n" +"- Erste Zeile: Eine Zusammenfassung, was man gemacht hat.\n" +"\n" +"- Zweite Zeile: Leerzeile\n" +"\n" +"- Rest: Eine ausführliche Beschreibung, warum diese Änderung hilfreich ist.\n" + +#: lib/commit.tcl:257 +msgid "write-tree failed:" +msgstr "write-tree fehlgeschlagen:" + +#: lib/commit.tcl:275 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "Version »%s« scheint beschädigt zu sein" + +#: lib/commit.tcl:279 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Keine Änderungen einzutragen.\n" +"\n" +"Es gibt keine geänderte Datei bei dieser Version und es wurde auch nichts " +"zusammengeführt.\n" +"\n" +"Das Arbeitsverzeichnis wird daher jetzt neu geladen.\n" + +#: lib/commit.tcl:286 +msgid "No changes to commit." +msgstr "Keine Änderungen, die eingetragen werden können." + +#: lib/commit.tcl:303 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "Warning: Tcl/Tk unterstützt die Zeichencodierung »%s« nicht." + +#: lib/commit.tcl:317 +msgid "commit-tree failed:" +msgstr "commit-tree fehlgeschlagen:" + +#: lib/commit.tcl:339 +msgid "update-ref failed:" +msgstr "update-ref fehlgeschlagen:" + +#: lib/commit.tcl:430 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Version %s übertragen: %s" + +#: lib/console.tcl:57 +msgid "Working... please wait..." +msgstr "Verarbeitung. Bitte warten..." + +#: lib/console.tcl:183 +msgid "Success" +msgstr "Erfolgreich" + +#: lib/console.tcl:196 +msgid "Error: Command Failed" +msgstr "Fehler: Kommando fehlgeschlagen" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "Anzahl unverknüpfter Objekte" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "Festplattenplatz von unverknüpften Objekten" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "Anzahl komprimierter Objekte" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "Anzahl Komprimierungseinheiten" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "Festplattenplatz von komprimierten Objekten" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "Komprimierte Objekte, die zum Entfernen vorgesehen sind" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "Dateien im Mülleimer" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Objektdatenbank komprimieren" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Die Objektdatenbank durch »fsck-objects« überprüfen lassen" + +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" +"Dieses Projektarchiv enthält ungefähr %i nicht verknüpfte Objekte.\n" +"\n" +"Für eine optimale Performance wird empfohlen, die Datenbank des " +"Projektarchivs zu komprimieren, sobald mehr als %i nicht verknüpfte Objekte " +"vorliegen.\n" +"\n" +"Soll die Datenbank jetzt komprimiert werden?" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Ungültiges Datum von Git: %s" + +#: lib/diff.tcl:42 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"Keine Änderungen feststellbar.\n" +"\n" +"»%s« enthält keine Änderungen. Zwar wurde das Änderungsdatum dieser Datei " +"von einem anderen Programm modifiziert, aber der Inhalt der Datei ist " +"unverändert.\n" +"\n" +"Das Arbeitsverzeichnis wird jetzt neu geladen, um diese Änderung bei allen " +"Dateien zu prüfen." + +#: lib/diff.tcl:81 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "Vergleich von »%s« laden..." + +#: lib/diff.tcl:114 lib/diff.tcl:184 +#, tcl-format +msgid "Unable to display %s" +msgstr "Datei »%s« kann nicht angezeigt werden" + +#: lib/diff.tcl:115 +msgid "Error loading file:" +msgstr "Fehler beim Laden der Datei:" + +#: lib/diff.tcl:122 +msgid "Git Repository (subproject)" +msgstr "Git-Projektarchiv (Unterprojekt)" + +#: lib/diff.tcl:134 +msgid "* Binary file (not showing content)." +msgstr "* Binärdatei (Inhalt wird nicht angezeigt)" + +#: lib/diff.tcl:185 +msgid "Error loading diff:" +msgstr "Fehler beim Laden des Vergleichs:" + +#: lib/diff.tcl:302 +msgid "Failed to unstage selected hunk." - msgstr "Fehler beim Herausnehmen der gewählten Dateien aus der Bereitstellung." ++msgstr "Fehler beim Herausnehmen des gewählten Kontexts aus der Bereitstellung." + +#: lib/diff.tcl:309 +msgid "Failed to stage selected hunk." - msgstr "Fehler beim Bereitstellen der gewählten Dateien." ++msgstr "Fehler beim Bereitstellen des gewählten Kontexts." + +#: lib/error.tcl:12 lib/error.tcl:102 +msgid "error" +msgstr "Fehler" + +#: lib/error.tcl:28 +msgid "warning" +msgstr "Warnung" + +#: lib/error.tcl:81 +msgid "You must correct the above errors before committing." +msgstr "" +"Sie müssen die obigen Fehler zuerst beheben, bevor Sie eintragen können." + +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "Bereitstellung kann nicht wieder freigegeben werden." + +#: lib/index.tcl:15 +msgid "Index Error" +msgstr "Fehler in Bereitstellung" + +#: lib/index.tcl:21 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "Das Aktualisieren der Git-Bereitstellung ist fehlgeschlagen. Eine allgemeine Git-Aktualisierung wird jetzt gestartet, um git-gui wieder mit git zu synchronisieren." + +#: lib/index.tcl:27 +msgid "Continue" +msgstr "Fortsetzen" + +#: lib/index.tcl:31 +msgid "Unlock Index" +msgstr "Bereitstellung freigeben" + +#: lib/index.tcl:282 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "Datei »%s« aus der Bereitstellung herausnehmen" + +#: lib/index.tcl:326 +#, tcl-format +msgid "Adding %s" +msgstr "»%s« hinzufügen..." + +#: lib/index.tcl:381 +#, tcl-format +msgid "Revert changes in file %s?" - msgstr "Änderungen in Datei »%s« revidieren?" ++msgstr "Änderungen in Datei »%s« verwerfen?" + +#: lib/index.tcl:383 +#, tcl-format +msgid "Revert changes in these %i files?" - msgstr "Änderungen in den gewählten %i Dateien revidieren?" ++msgstr "Änderungen in den gewählten %i Dateien verwerfen?" + +#: lib/index.tcl:389 +msgid "Any unstaged changes will be permanently lost by the revert." - msgstr "" - "Alle nicht bereitgestellten Änderungen werden beim Revidieren verloren gehen." ++msgstr "Alle nicht bereitgestellten Änderungen werden beim Verwerfen verloren gehen." + +#: lib/index.tcl:392 +msgid "Do Nothing" +msgstr "Nichts tun" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"Zusammenführen kann nicht gleichzeitig mit Nachbessern durchgeführt werden.\n" +"\n" +"Sie müssen zuerst die Nachbesserungs-Version abschließen, bevor Sie " +"zusammenführen können.\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Der letzte geladene Status stimmt nicht mehr mit dem Projektarchiv überein.\n" +"\n" +"Ein anderes Git-Programm hat das Projektarchiv seit dem letzten Laden " +"geändert. Vor einem Zusammenführen muss neu geladen werden.\n" +"\n" +"Es wird gleich neu geladen.\n" + +#: lib/merge.tcl:44 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"Zusammenführung mit Konflikten.\n" +"\n" +"Die Datei »%s« enthält Konflikte beim Zusammenführen. Sie müssen diese " +"Konflikte per Hand auflösen. Anschließend müssen Sie die Datei wieder " +"bereitstellen und eintragen, um die Zusammenführung abzuschließen. Erst " +"danach kann eine neue Zusammenführung begonnen werden.\n" + +#: lib/merge.tcl:54 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"Es liegen Änderungen vor.\n" +"\n" +"Die Datei »%s« wurde geändert. Sie sollten zuerst die bereitgestellte " +"Version abschließen, bevor Sie eine Zusammenführung beginnen. Mit dieser " +"Reihenfolge können Sie mögliche Konflikte beim Zusammenführen wesentlich " +"einfacher beheben oder abbrechen.\n" + +#: lib/merge.tcl:106 +#, tcl-format +msgid "%s of %s" +msgstr "%s von %s" + +#: lib/merge.tcl:119 +#, tcl-format +msgid "Merging %s and %s" +msgstr "Zusammenführen von %s und %s" + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "Zusammenführen erfolgreich abgeschlossen." + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "Zusammenführen fehlgeschlagen. Konfliktauflösung ist notwendig." + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "Zusammenführen in %s" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "Zusammenzuführende Version" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"Abbruch der Nachbesserung ist nicht möglich.\n" +"\n" +"Sie müssen die Nachbesserung der Version abschließen.\n" + +#: lib/merge.tcl:222 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"Zusammenführen abbrechen?\n" +"\n" +"Wenn Sie abbrechen, gehen alle noch nicht eingetragenen Änderungen " +"verloren.\n" +"\n" +"Zusammenführen jetzt abbrechen?" + +#: lib/merge.tcl:228 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"Änderungen zurücksetzen?\n" +"\n" +"Wenn Sie zurücksetzen, gehen alle noch nicht eingetragenen Änderungen " +"verloren.\n" +"\n" +"Änderungen jetzt zurücksetzen?" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "Abbruch" + +#: lib/merge.tcl:266 +msgid "Abort failed." +msgstr "Abbruch fehlgeschlagen." + +#: lib/merge.tcl:268 +msgid "Abort completed. Ready." +msgstr "Abbruch durchgeführt. Bereit." + +#: lib/option.tcl:82 +msgid "Restore Defaults" +msgstr "Voreinstellungen wiederherstellen" + +#: lib/option.tcl:86 +msgid "Save" +msgstr "Speichern" + +#: lib/option.tcl:96 +#, tcl-format +msgid "%s Repository" +msgstr "Projektarchiv %s" + +#: lib/option.tcl:97 +msgid "Global (All Repositories)" +msgstr "Global (Alle Projektarchive)" + +#: lib/option.tcl:103 +msgid "User Name" +msgstr "Benutzername" + +#: lib/option.tcl:104 +msgid "Email Address" +msgstr "E-Mail-Adresse" + +#: lib/option.tcl:106 +msgid "Summarize Merge Commits" +msgstr "Zusammenführungs-Versionen zusammenfassen" + +#: lib/option.tcl:107 +msgid "Merge Verbosity" +msgstr "Ausführlichkeit der Zusammenführen-Meldungen" + +#: lib/option.tcl:108 +msgid "Show Diffstat After Merge" +msgstr "Vergleichsstatistik nach Zusammenführen anzeigen" + +#: lib/option.tcl:110 +msgid "Trust File Modification Timestamps" +msgstr "Auf Dateiänderungsdatum verlassen" + +#: lib/option.tcl:111 +msgid "Prune Tracking Branches During Fetch" +msgstr "Übernahmezweige entfernen während Anforderung" + +#: lib/option.tcl:112 +msgid "Match Tracking Branches" +msgstr "Passend zu Übernahmezweig" + +#: lib/option.tcl:113 +msgid "Number of Diff Context Lines" +msgstr "Anzahl der Kontextzeilen beim Vergleich" + +#: lib/option.tcl:114 +msgid "New Branch Name Template" +msgstr "Namensvorschlag für neue Zweige" + +#: lib/option.tcl:176 +msgid "Change Font" +msgstr "Schriftart ändern" + +#: lib/option.tcl:180 +#, tcl-format +msgid "Choose %s" +msgstr "%s wählen" + +#: lib/option.tcl:186 +msgid "pt." +msgstr "pt." + +#: lib/option.tcl:200 +msgid "Preferences" +msgstr "Einstellungen" + +#: lib/option.tcl:235 +msgid "Failed to completely save options:" +msgstr "Optionen konnten nicht gespeichert werden:" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Remote Branch" - msgstr "Zweig im anderen Projektarchiv löschen" ++msgstr "Zweig aus anderem Projektarchiv löschen" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "Von Projektarchiv" + +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 +msgid "Remote:" +msgstr "Anderes Archiv:" + +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 +msgid "Arbitrary URL:" +msgstr "Kommunikation mit URL:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "Zweige" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "Löschen, falls" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "Zusammenführen mit:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "Immer (Keine Zusammenführungsprüfung)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "Für »Zusammenführen mit« muss ein Zweig angegeben werden." + +#: lib/remote_branch_delete.tcl:184 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" +"Folgende Zweige sind noch nicht mit »%s« zusammengeführt:\n" +"\n" +" - %s" + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"Ein oder mehrere Zusammenführungen sind fehlgeschlagen, da Sie nicht die " +"notwendigen Versionen vorher angefordert haben. Sie sollten versuchen, " +"zuerst von »%s« anzufordern." + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "Bitte wählen Sie mindestens einen Zweig, der gelöscht werden soll." + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"Das Wiederherstellen von gelöschten Zweigen ist nur mit größerem Aufwand " +"möglich.\n" +"\n" +"Sollen die ausgewählten Zweige gelöscht werden?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Zweige auf »%s« werden gelöscht" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "Kein Projektarchiv ausgewählt." + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "»%s« laden..." + +#: lib/remote.tcl:165 +msgid "Prune from" +msgstr "Entfernen von" + +#: lib/remote.tcl:170 +msgid "Fetch from" +msgstr "Anfordern von" + +#: lib/remote.tcl:213 +msgid "Push to" +msgstr "Versenden nach" + +#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 +msgid "Cannot write shortcut:" +msgstr "Fehler beim Schreiben der Verknüpfung:" + +#: lib/shortcut.tcl:136 +msgid "Cannot write icon:" +msgstr "Fehler beim Erstellen des Icons:" + +#: lib/status_bar.tcl:83 +#, tcl-format +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%s ... %*i von %*i %s (%3i%%)" + +#: lib/transport.tcl:6 +#, tcl-format +msgid "fetch %s" +msgstr "»%s« anfordern" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Neue Änderungen von »%s« holen" + +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" - msgstr "Entfernen von »%s« im anderen Archiv" ++msgstr "Entfernen von »%s« aus anderem Archiv" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "Übernahmezweige entfernen, die in »%s« gelöscht wurden" + +#: lib/transport.tcl:25 lib/transport.tcl:71 +#, tcl-format +msgid "push %s" +msgstr "»%s« versenden..." + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Änderungen nach »%s« versenden" + +#: lib/transport.tcl:72 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "%s %s nach %s versenden" + +#: lib/transport.tcl:89 +msgid "Push Branches" +msgstr "Zweige versenden" + +#: lib/transport.tcl:103 +msgid "Source Branches" +msgstr "Herkunftszweige" + +#: lib/transport.tcl:120 +msgid "Destination Repository" +msgstr "Ziel-Projektarchiv" + +#: lib/transport.tcl:158 +msgid "Transfer Options" +msgstr "Netzwerk-Einstellungen" + +#: lib/transport.tcl:160 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "" +"Überschreiben von existierenden Zweigen erzwingen (könnte Änderungen löschen)" + +#: lib/transport.tcl:164 +msgid "Use thin pack (for slow network connections)" +msgstr "Kompaktes Datenformat benutzen (für langsame Netzverbindungen)" + +#: lib/transport.tcl:168 +msgid "Include tags" +msgstr "Mit Markierungen übertragen" diff --cc git-gui/po/fr.po index 000000000,000000000..d389bdaca new file mode 100644 --- /dev/null +++ b/git-gui/po/fr.po @@@ -1,0 -1,0 +1,1875 @@@ ++# translation of fr.po to French ++# Translation of git-gui to French. ++# Copyright (C) 2008 Shawn Pearce, et al. ++# This file is distributed under the same license as the git package. ++# ++# Christian Couder , 2008. ++msgid "" ++msgstr "" ++"Project-Id-Version: fr\n" ++"Report-Msgid-Bugs-To: \n" ++"POT-Creation-Date: 2007-11-24 10:36+0100\n" ++"PO-Revision-Date: 2008-01-14 21:08+0100\n" ++"Last-Translator: Christian Couder \n" ++"Language-Team: French\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"X-Generator: KBabel 1.11.4\n" ++"Plural-Forms: nplurals=2; plural=(n > 1);\n" ++ ++#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 ++#: git-gui.sh:733 ++msgid "git-gui: fatal error" ++msgstr "git-gui: erreur fatale" ++ ++#: git-gui.sh:565 ++#, tcl-format ++msgid "Invalid font specified in %s:" ++msgstr "Invalide fonte spécifiée dans %s :" ++ ++#: git-gui.sh:590 ++msgid "Main Font" ++msgstr "Fonte principale" ++ ++#: git-gui.sh:591 ++msgid "Diff/Console Font" ++msgstr "Fonte diff/console" ++ ++#: git-gui.sh:605 ++msgid "Cannot find git in PATH." ++msgstr "Impossible de trouver git dans PATH." ++ ++#: git-gui.sh:632 ++msgid "Cannot parse Git version string:" ++msgstr "Impossible de parser la version de Git :" ++ ++#: git-gui.sh:650 ++#, tcl-format ++msgid "" ++"Git version cannot be determined.\n" ++"\n" ++"%s claims it is version '%s'.\n" ++"\n" ++"%s requires at least Git 1.5.0 or later.\n" ++"\n" ++"Assume '%s' is version 1.5.0?\n" ++msgstr "" ++"Impossible de déterminer la version de Git.\n" ++"\n" ++"%s affirme qu'il s'agit de la version '%s'.\n" ++"\n" ++"%s nécessite au moins Git 1.5.0.\n" ++"\n" ++"Peut'on considérer que '%s' est en version 1.5.0 ?\n" ++ ++#: git-gui.sh:888 ++msgid "Git directory not found:" ++msgstr "Impossible de trouver le répertoire de Git :" ++ ++#: git-gui.sh:895 ++msgid "Cannot move to top of working directory:" ++msgstr "Impossible d'aller à la racine du répertoire de travail :" ++ ++#: git-gui.sh:902 ++msgid "Cannot use funny .git directory:" ++msgstr "Impossible d'utiliser un drôle de répertoire git :" ++ ++#: git-gui.sh:907 ++msgid "No working directory" ++msgstr "Pas de répertoire de travail" ++ ++#: git-gui.sh:1054 ++msgid "Refreshing file status..." ++msgstr "Rafraichissement du status des fichiers..." ++ ++#: git-gui.sh:1119 ++msgid "Scanning for modified files ..." ++msgstr "Recherche de fichiers modifiés..." ++ ++#: git-gui.sh:1294 lib/browser.tcl:245 ++msgid "Ready." ++msgstr "Prêt." ++ ++#: git-gui.sh:1560 ++msgid "Unmodified" ++msgstr "Non modifié" ++ ++#: git-gui.sh:1562 ++msgid "Modified, not staged" ++msgstr "Modifié, non pré-commité" ++ ++#: git-gui.sh:1563 git-gui.sh:1568 ++msgid "Staged for commit" ++msgstr "Pré-commité" ++ ++#: git-gui.sh:1564 git-gui.sh:1569 ++msgid "Portions staged for commit" ++msgstr "En partie pré-commité" ++ ++#: git-gui.sh:1565 git-gui.sh:1570 ++msgid "Staged for commit, missing" ++msgstr "Pré-commité, manquant" ++ ++#: git-gui.sh:1567 ++msgid "Untracked, not staged" ++msgstr "Non suivi, non pré-commité" ++ ++#: git-gui.sh:1572 ++msgid "Missing" ++msgstr "Manquant" ++ ++#: git-gui.sh:1573 ++msgid "Staged for removal" ++msgstr "Pré-commité pour suppression" ++ ++#: git-gui.sh:1574 ++msgid "Staged for removal, still present" ++msgstr "Pré-commité pour suppression, toujours présent" ++ ++#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 ++msgid "Requires merge resolution" ++msgstr "Nécessite la résolution d'une fusion" ++ ++#: git-gui.sh:1614 ++msgid "Starting gitk... please wait..." ++msgstr "Lancement de gitk... merci de patienter..." ++ ++#: git-gui.sh:1623 ++#, tcl-format ++msgid "" ++"Unable to start gitk:\n" ++"\n" ++"%s does not exist" ++msgstr "" ++"Impossible de lancer gitk :\n" ++"\n" ++"%s inexistant" ++ ++#: git-gui.sh:1823 lib/choose_repository.tcl:35 ++msgid "Repository" ++msgstr "Référentiel" ++ ++#: git-gui.sh:1824 ++msgid "Edit" ++msgstr "Editer" ++ ++#: git-gui.sh:1826 lib/choose_rev.tcl:560 ++msgid "Branch" ++msgstr "Branche" ++ ++#: git-gui.sh:1829 lib/choose_rev.tcl:547 ++msgid "Commit@@noun" ++msgstr "Commit" ++ ++#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 ++msgid "Merge" ++msgstr "Fusionner" ++ ++#: git-gui.sh:1833 lib/choose_rev.tcl:556 ++msgid "Remote" ++msgstr "Référentiel distant" ++ ++#: git-gui.sh:1842 ++msgid "Browse Current Branch's Files" ++msgstr "Visionner fichiers dans branche courante" ++ ++#: git-gui.sh:1846 ++msgid "Browse Branch Files..." ++msgstr "Visionner fichiers de branche" ++ ++#: git-gui.sh:1851 ++msgid "Visualize Current Branch's History" ++msgstr "Visualiser historique branche courante" ++ ++#: git-gui.sh:1855 ++msgid "Visualize All Branch History" ++msgstr "Visualiser historique toutes branches" ++ ++#: git-gui.sh:1862 ++#, tcl-format ++msgid "Browse %s's Files" ++msgstr "Visionner fichiers de %s" ++ ++#: git-gui.sh:1864 ++#, tcl-format ++msgid "Visualize %s's History" ++msgstr "Visualiser historique de %s" ++ ++#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 ++msgid "Database Statistics" ++msgstr "Statistiques base de donnée" ++ ++#: git-gui.sh:1872 lib/database.tcl:34 ++msgid "Compress Database" ++msgstr "Comprimer base de donnée" ++ ++#: git-gui.sh:1875 ++msgid "Verify Database" ++msgstr "Vérifier base de donnée" ++ ++#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 ++#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 ++msgid "Create Desktop Icon" ++msgstr "Créer icône sur bureau" ++ ++#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 ++msgid "Quit" ++msgstr "Quitter" ++ ++#: git-gui.sh:1902 ++msgid "Undo" ++msgstr "Défaire" ++ ++#: git-gui.sh:1905 ++msgid "Redo" ++msgstr "Refaire" ++ ++#: git-gui.sh:1909 git-gui.sh:2403 ++msgid "Cut" ++msgstr "Couper" ++ ++#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 ++#: lib/console.tcl:67 ++msgid "Copy" ++msgstr "Copier" ++ ++#: git-gui.sh:1915 git-gui.sh:2409 ++msgid "Paste" ++msgstr "Coller" ++ ++#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 ++#: lib/remote_branch_delete.tcl:38 ++msgid "Delete" ++msgstr "Supprimer" ++ ++#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 ++msgid "Select All" ++msgstr "Tout sélectionner" ++ ++#: git-gui.sh:1931 ++msgid "Create..." ++msgstr "Créer..." ++ ++#: git-gui.sh:1937 ++msgid "Checkout..." ++msgstr "Emprunter... " ++ ++#: git-gui.sh:1943 ++msgid "Rename..." ++msgstr "Renommer..." ++ ++#: git-gui.sh:1948 git-gui.sh:2048 ++msgid "Delete..." ++msgstr "Supprimer..." ++ ++#: git-gui.sh:1953 ++msgid "Reset..." ++msgstr "Réinitialiser..." ++ ++#: git-gui.sh:1965 git-gui.sh:2350 ++msgid "New Commit" ++msgstr "Nouveau commit" ++ ++#: git-gui.sh:1973 git-gui.sh:2357 ++msgid "Amend Last Commit" ++msgstr "Corriger dernier commit" ++ ++#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 ++msgid "Rescan" ++msgstr "Resynchroniser" ++ ++#: git-gui.sh:1988 ++msgid "Stage To Commit" ++msgstr "Commiter un pré-commit" ++ ++#: git-gui.sh:1994 ++msgid "Stage Changed Files To Commit" ++msgstr "Commiter fichiers modifiés dans pré-commit" ++ ++#: git-gui.sh:2000 ++msgid "Unstage From Commit" ++msgstr "Commit vers pré-commit" ++ ++#: git-gui.sh:2005 lib/index.tcl:393 ++msgid "Revert Changes" ++msgstr "Inverser modification" ++ ++#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 ++msgid "Sign Off" ++msgstr "Se désinscrire" ++ ++#: git-gui.sh:2016 git-gui.sh:2333 ++msgid "Commit@@verb" ++msgstr "Commiter" ++ ++#: git-gui.sh:2027 ++msgid "Local Merge..." ++msgstr "Fusion locale..." ++ ++#: git-gui.sh:2032 ++msgid "Abort Merge..." ++msgstr "Abandonner fusion..." ++ ++#: git-gui.sh:2044 ++msgid "Push..." ++msgstr "Pousser..." ++ ++#: git-gui.sh:2055 lib/choose_repository.tcl:40 ++msgid "Apple" ++msgstr "Pomme" ++ ++#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 ++#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 ++#, tcl-format ++msgid "About %s" ++msgstr "A propos de %s" ++ ++#: git-gui.sh:2062 ++msgid "Preferences..." ++msgstr "Préférences..." ++ ++#: git-gui.sh:2070 git-gui.sh:2595 ++msgid "Options..." ++msgstr "Options..." ++ ++#: git-gui.sh:2076 lib/choose_repository.tcl:46 ++msgid "Help" ++msgstr "Aide" ++ ++#: git-gui.sh:2117 ++msgid "Online Documentation" ++msgstr "Documentation en ligne" ++ ++#: git-gui.sh:2201 ++#, tcl-format ++msgid "fatal: cannot stat path %s: No such file or directory" ++msgstr "fatale : pas d'infos sur le chemin %s : Fichier ou répertoire inexistant" ++ ++#: git-gui.sh:2234 ++msgid "Current Branch:" ++msgstr "Branche courante :" ++ ++#: git-gui.sh:2255 ++msgid "Staged Changes (Will Commit)" ++msgstr "Modifications pré-commitées" ++ ++#: git-gui.sh:2274 ++msgid "Unstaged Changes" ++msgstr "Modifications non pré-commitées" ++ ++#: git-gui.sh:2323 ++msgid "Stage Changed" ++msgstr "Pré-commit modifié" ++ ++#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 ++msgid "Push" ++msgstr "Pousser" ++ ++#: git-gui.sh:2369 ++msgid "Initial Commit Message:" ++msgstr "Message de commit initial :" ++ ++#: git-gui.sh:2370 ++msgid "Amended Commit Message:" ++msgstr "Message de commit corrigé :" ++ ++#: git-gui.sh:2371 ++msgid "Amended Initial Commit Message:" ++msgstr "Message de commit initial corrigé :" ++ ++#: git-gui.sh:2372 ++msgid "Amended Merge Commit Message:" ++msgstr "Message de commit de fusion corrigé :" ++ ++#: git-gui.sh:2373 ++msgid "Merge Commit Message:" ++msgstr "Message de commit de fusion :" ++ ++#: git-gui.sh:2374 ++msgid "Commit Message:" ++msgstr "Message de commit :" ++ ++#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 ++msgid "Copy All" ++msgstr "Copier tout" ++ ++#: git-gui.sh:2443 lib/blame.tcl:104 ++msgid "File:" ++msgstr "Fichier :" ++ ++#: git-gui.sh:2545 ++msgid "Refresh" ++msgstr "Rafraichir" ++ ++#: git-gui.sh:2566 ++msgid "Apply/Reverse Hunk" ++msgstr "Appliquer/Inverser section" ++ ++#: git-gui.sh:2572 ++msgid "Decrease Font Size" ++msgstr "Réduire fonte" ++ ++#: git-gui.sh:2576 ++msgid "Increase Font Size" ++msgstr "Agrandir fonte" ++ ++#: git-gui.sh:2581 ++msgid "Show Less Context" ++msgstr "Montrer moins de contexte" ++ ++#: git-gui.sh:2588 ++msgid "Show More Context" ++msgstr "Montrer plus de contexte" ++ ++#: git-gui.sh:2602 ++msgid "Unstage Hunk From Commit" ++msgstr "Enlever section pré-commitée" ++ ++#: git-gui.sh:2604 ++msgid "Stage Hunk For Commit" ++msgstr "Pré-commiter section" ++ ++#: git-gui.sh:2623 ++msgid "Initializing..." ++msgstr "Initialisation..." ++ ++#: git-gui.sh:2718 ++#, tcl-format ++msgid "" ++"Possible environment issues exist.\n" ++"\n" ++"The following environment variables are probably\n" ++"going to be ignored by any Git subprocess run\n" ++"by %s:\n" ++"\n" ++msgstr "" ++"Des problèmes d'environnement sont possibles.\n" ++"\n" ++"Les variables d'environnement suivantes seront\n" ++"probablement ignorées par tous les\n" ++"sous-processus de Git lancés par %s\n" ++"\n" ++ ++#: git-gui.sh:2748 ++msgid "" ++"\n" ++"This is due to a known issue with the\n" ++"Tcl binary distributed by Cygwin." ++msgstr "" ++"\n" ++"Ceci est du à un problème connu avec\n" ++"le binaire Tcl distribué par Cygwin." ++ ++#: git-gui.sh:2753 ++#, tcl-format ++msgid "" ++"\n" ++"\n" ++"A good replacement for %s\n" ++"is placing values for the user.name and\n" ++"user.email settings into your personal\n" ++"~/.gitconfig file.\n" ++msgstr "" ++"\n" ++"\n" ++"Un bon remplacement pour %s\n" ++"est de mettre les valeurs pour 'user.name' (nom\n" ++"de l'utilisateur) et 'user.email' (addresse email\n" ++"de l'utilisateur) dans votre fichier '~/.gitconfig'.\n" ++ ++#: lib/about.tcl:25 ++msgid "git-gui - a graphical user interface for Git." ++msgstr "git-gui - une interface graphique utilisateur pour Git" ++ ++#: lib/blame.tcl:77 ++msgid "File Viewer" ++msgstr "Visionneur de fichier" ++ ++#: lib/blame.tcl:81 ++msgid "Commit:" ++msgstr "Commit :" ++ ++#: lib/blame.tcl:249 ++msgid "Copy Commit" ++msgstr "Copier commit" ++ ++#: lib/blame.tcl:369 ++#, tcl-format ++msgid "Reading %s..." ++msgstr "Lecture de %s..." ++ ++#: lib/blame.tcl:473 ++msgid "Loading copy/move tracking annotations..." ++msgstr "Chargement des annotations de suivi des copies/déplacements..." ++ ++#: lib/blame.tcl:493 ++msgid "lines annotated" ++msgstr "lignes annotées" ++ ++#: lib/blame.tcl:674 ++msgid "Loading original location annotations..." ++msgstr "Chargement des annotations d'emplacement original" ++ ++#: lib/blame.tcl:677 ++msgid "Annotation complete." ++msgstr "Annotation terminée." ++ ++#: lib/blame.tcl:731 ++msgid "Loading annotation..." ++msgstr "Chargement des annotations..." ++ ++#: lib/blame.tcl:787 ++msgid "Author:" ++msgstr "Auteur :" ++ ++#: lib/blame.tcl:791 ++msgid "Committer:" ++msgstr "Commiteur :" ++ ++#: lib/blame.tcl:796 ++msgid "Original File:" ++msgstr "Fichier original :" ++ ++#: lib/blame.tcl:910 ++msgid "Originally By:" ++msgstr "A l'origine par :" ++ ++#: lib/blame.tcl:916 ++msgid "In File:" ++msgstr "Dans le fichier :" ++ ++#: lib/blame.tcl:921 ++msgid "Copied Or Moved Here By:" ++msgstr "Copié ou déplacé ici par :" ++ ++#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 ++msgid "Checkout Branch" ++msgstr "Emprunter branche" ++ ++#: lib/branch_checkout.tcl:23 ++msgid "Checkout" ++msgstr "Emprunter" ++ ++#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 ++#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 ++#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 ++#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 ++msgid "Cancel" ++msgstr "Annuler" ++ ++#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 ++msgid "Revision" ++msgstr "Révision" ++ ++#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 ++msgid "Options" ++msgstr "Options" ++ ++#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 ++msgid "Fetch Tracking Branch" ++msgstr "Branche suivant récupération" ++ ++#: lib/branch_checkout.tcl:44 ++msgid "Detach From Local Branch" ++msgstr "Détacher de branche locale" ++ ++#: lib/branch_create.tcl:22 ++msgid "Create Branch" ++msgstr "Créer branche" ++ ++#: lib/branch_create.tcl:27 ++msgid "Create New Branch" ++msgstr "Créer nouvelle branche" ++ ++#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 ++msgid "Create" ++msgstr "Créer" ++ ++#: lib/branch_create.tcl:40 ++msgid "Branch Name" ++msgstr "Nom de branche" ++ ++#: lib/branch_create.tcl:43 ++msgid "Name:" ++msgstr "Nom :" ++ ++#: lib/branch_create.tcl:58 ++msgid "Match Tracking Branch Name" ++msgstr "Trouver nom de branche de suivi" ++ ++#: lib/branch_create.tcl:66 ++msgid "Starting Revision" ++msgstr "Début de révision" ++ ++#: lib/branch_create.tcl:72 ++msgid "Update Existing Branch:" ++msgstr "Mettre à jour branche existante :" ++ ++#: lib/branch_create.tcl:75 ++msgid "No" ++msgstr "Non" ++ ++#: lib/branch_create.tcl:80 ++msgid "Fast Forward Only" ++msgstr "Avance rapide seulement" ++ ++#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 ++msgid "Reset" ++msgstr "Réinitialiser" ++ ++#: lib/branch_create.tcl:97 ++msgid "Checkout After Creation" ++msgstr "Emprunt après création" ++ ++#: lib/branch_create.tcl:131 ++msgid "Please select a tracking branch." ++msgstr "Merci de choisir une branche de suivi" ++ ++#: lib/branch_create.tcl:140 ++#, tcl-format ++msgid "Tracking branch %s is not a branch in the remote repository." ++msgstr "La branche de suivi %s n'est pas une branche dans le référentiel distant." ++ ++#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 ++msgid "Please supply a branch name." ++msgstr "Merci de fournir un nom de branche." ++ ++#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 ++#, tcl-format ++msgid "'%s' is not an acceptable branch name." ++msgstr "'%s' n'est pas un nom de branche acceptable." ++ ++#: lib/branch_delete.tcl:15 ++msgid "Delete Branch" ++msgstr "Supprimer branche" ++ ++#: lib/branch_delete.tcl:20 ++msgid "Delete Local Branch" ++msgstr "Supprimer branche locale" ++ ++#: lib/branch_delete.tcl:37 ++msgid "Local Branches" ++msgstr "Branches locales" ++ ++#: lib/branch_delete.tcl:52 ++msgid "Delete Only If Merged Into" ++msgstr "Supprimer ssi fusion dedans" ++ ++#: lib/branch_delete.tcl:54 ++msgid "Always (Do not perform merge test.)" ++msgstr "Toujours (Ne pas faire de test de fusion.)" ++ ++#: lib/branch_delete.tcl:103 ++#, tcl-format ++msgid "The following branches are not completely merged into %s:" ++msgstr "Les branches suivantes ne sont pas complètement fusionnées dans %s :" ++ ++#: lib/branch_delete.tcl:115 ++msgid "" ++"Recovering deleted branches is difficult. \n" ++"\n" ++" Delete the selected branches?" ++msgstr "" ++"Récupérer des branches supprimées est difficile.\n" ++"\n" ++"Supprimer les branches sélectionnées ?" ++ ++#: lib/branch_delete.tcl:141 ++#, tcl-format ++msgid "" ++"Failed to delete branches:\n" ++"%s" ++msgstr "" ++"La suppression des branches suivantes a échouée :\n" ++"%s" ++ ++#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 ++msgid "Rename Branch" ++msgstr "Renommer branche" ++ ++#: lib/branch_rename.tcl:26 ++msgid "Rename" ++msgstr "Renommer" ++ ++#: lib/branch_rename.tcl:36 ++msgid "Branch:" ++msgstr "Branche :" ++ ++#: lib/branch_rename.tcl:39 ++msgid "New Name:" ++msgstr "Nouveau nom :" ++ ++#: lib/branch_rename.tcl:75 ++msgid "Please select a branch to rename." ++msgstr "Merci de sélectionner une branche à renommer." ++ ++#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 ++#, tcl-format ++msgid "Branch '%s' already exists." ++msgstr "La branche '%s' existe déjà." ++ ++#: lib/branch_rename.tcl:117 ++#, tcl-format ++msgid "Failed to rename '%s'." ++msgstr "Le renommage de '%s' a échoué." ++ ++#: lib/browser.tcl:17 ++msgid "Starting..." ++msgstr "Lancement..." ++ ++#: lib/browser.tcl:26 ++msgid "File Browser" ++msgstr "Visionneur de fichier" ++ ++#: lib/browser.tcl:125 lib/browser.tcl:142 ++#, tcl-format ++msgid "Loading %s..." ++msgstr "Chargement de %s..." ++ ++#: lib/browser.tcl:186 ++msgid "[Up To Parent]" ++msgstr "[Jusqu'au parent]" ++ ++#: lib/browser.tcl:266 lib/browser.tcl:272 ++msgid "Browse Branch Files" ++msgstr "Visionner fichiers de branches" ++ ++#: lib/browser.tcl:277 lib/choose_repository.tcl:391 ++#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 ++#: lib/choose_repository.tcl:989 ++msgid "Browse" ++msgstr "Visionner" ++ ++#: lib/checkout_op.tcl:79 ++#, tcl-format ++msgid "Fetching %s from %s" ++msgstr "Récupération de %s à partir de %s" ++ ++#: lib/checkout_op.tcl:127 ++#, tcl-format ++msgid "fatal: Cannot resolve %s" ++msgstr "Erreur fatale : Impossible de résoudre %s" ++ ++#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 ++msgid "Close" ++msgstr "Fermer" ++ ++#: lib/checkout_op.tcl:169 ++#, tcl-format ++msgid "Branch '%s' does not exist." ++msgstr "La branche '%s' n'existe pas." ++ ++#: lib/checkout_op.tcl:206 ++#, tcl-format ++msgid "" ++"Branch '%s' already exists.\n" ++"\n" ++"It cannot fast-forward to %s.\n" ++"A merge is required." ++msgstr "" ++"La branche '%s' existe déjà.\n" ++"\n" ++"Impossible d'avancer rapidement à %s.\n" ++"Une fusion est nécessaire." ++ ++#: lib/checkout_op.tcl:220 ++#, tcl-format ++msgid "Merge strategy '%s' not supported." ++msgstr "La stratégie de fusion '%s' n'est pas supportée." ++ ++#: lib/checkout_op.tcl:239 ++#, tcl-format ++msgid "Failed to update '%s'." ++msgstr "La mise à jour de '%s' a échouée." ++ ++#: lib/checkout_op.tcl:251 ++msgid "Staging area (index) is already locked." ++msgstr "L'espace de pré-commit ('index' ou 'staging') est déjà vérouillé." ++ ++#: lib/checkout_op.tcl:266 ++msgid "" ++"Last scanned state does not match repository state.\n" ++"\n" ++"Another Git program has modified this repository since the last scan. A " ++"rescan must be performed before the current branch can be changed.\n" ++"\n" ++"The rescan will be automatically started now.\n" ++msgstr "" ++"L'état lors de la dernière synchronisation ne correspond plus à l'état du référentiel.\n" ++"\n" ++"Un autre programme Git a modifié ce référentiel depuis la dernière synchronisation. Une resynchronisation doit être effectuée avant de pouvoir modifier la branche courante.\n" ++"\n" ++"Cela va être fait tout de suite automatiquement.\n" ++ ++#: lib/checkout_op.tcl:322 ++#, tcl-format ++msgid "Updating working directory to '%s'..." ++msgstr "Mise à jour du répertoire courant avec '%s'..." ++ ++#: lib/checkout_op.tcl:353 ++#, tcl-format ++msgid "Aborted checkout of '%s' (file level merging is required)." ++msgstr "Emprunt de '%s' abandonné. (Il est nécessaire de fusionner des fichiers.)" ++ ++#: lib/checkout_op.tcl:354 ++msgid "File level merge required." ++msgstr "Il est nécessaire de fusionner des fichiers." ++ ++#: lib/checkout_op.tcl:358 ++#, tcl-format ++msgid "Staying on branch '%s'." ++msgstr "Le répertoire de travail reste sur la branche '%s'." ++ ++#: lib/checkout_op.tcl:429 ++msgid "" ++"You are no longer on a local branch.\n" ++"\n" ++"If you wanted to be on a branch, create one now starting from 'This Detached " ++"Checkout'." ++msgstr "" ++"Vous n'êtes plus ur une branche locale.\n" ++"\n" ++"Si vous vouliez être sur une branche, créez en une maintenant en partant de 'Cet emprunt détaché'." ++ ++#: lib/checkout_op.tcl:446 ++#, tcl-format ++msgid "Checked out '%s'." ++msgstr "'%s' emprunté." ++ ++#: lib/checkout_op.tcl:478 ++#, tcl-format ++msgid "Resetting '%s' to '%s' will lose the following commits:" ++msgstr "Réinitialiser '%s' à '%s' va faire perdre les commits suivants :" ++ ++#: lib/checkout_op.tcl:500 ++msgid "Recovering lost commits may not be easy." ++msgstr "Récupérer les commits perdus ne sera peut être pas facile." ++ ++#: lib/checkout_op.tcl:505 ++#, tcl-format ++msgid "Reset '%s'?" ++msgstr "Réinitialiser '%s' ?" ++ ++#: lib/checkout_op.tcl:510 lib/merge.tcl:164 ++msgid "Visualize" ++msgstr "Visualiser" ++ ++#: lib/checkout_op.tcl:578 ++#, tcl-format ++msgid "" ++"Failed to set current branch.\n" ++"\n" ++"This working directory is only partially switched. We successfully updated " ++"your files, but failed to update an internal Git file.\n" ++"\n" ++"This should not have occurred. %s will now close and give up." ++msgstr "" ++"Le changement de la branche courante a échoué.\n" ++"\n" ++"Le répertoire courant n'est que partiellement modifié. Les fichiers ont été mis à jour avec succès, mais la mise à jour d'un fichier interne à Git a échouée.\n" ++"\n" ++"Cela n'aurait pas du se produire. %s va abandonner et se terminer." ++ ++#: lib/choose_font.tcl:39 ++msgid "Select" ++msgstr "Sélectionner" ++ ++#: lib/choose_font.tcl:53 ++msgid "Font Family" ++msgstr "Famille de fonte" ++ ++#: lib/choose_font.tcl:73 ++msgid "Font Size" ++msgstr "Taille de fonte" ++ ++#: lib/choose_font.tcl:90 ++msgid "Font Example" ++msgstr "Exemple de fonte" ++ ++#: lib/choose_font.tcl:101 ++msgid "" ++"This is example text.\n" ++"If you like this text, it can be your font." ++msgstr "" ++"C'est un texte d'exemple.\n" ++"Si vous aimez ce texte, vous pouvez choisir cette fonte." ++ ++#: lib/choose_repository.tcl:27 ++msgid "Git Gui" ++msgstr "Git Gui" ++ ++#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 ++msgid "Create New Repository" ++msgstr "Créer nouveau référentiel" ++ ++#: lib/choose_repository.tcl:86 ++msgid "New..." ++msgstr "Nouveau..." ++ ++#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 ++msgid "Clone Existing Repository" ++msgstr "Cloner référentiel existant" ++ ++#: lib/choose_repository.tcl:99 ++msgid "Clone..." ++msgstr "Cloner..." ++ ++#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 ++msgid "Open Existing Repository" ++msgstr "Ouvrir référentiel existant" ++ ++#: lib/choose_repository.tcl:112 ++msgid "Open..." ++msgstr "Ouvrir..." ++ ++#: lib/choose_repository.tcl:125 ++msgid "Recent Repositories" ++msgstr "Référentiels récents" ++ ++#: lib/choose_repository.tcl:131 ++msgid "Open Recent Repository:" ++msgstr "Ouvrir référentiel récent :" ++ ++#: lib/choose_repository.tcl:294 ++#, tcl-format ++msgid "Location %s already exists." ++msgstr "L'emplacement %s existe déjà." ++ ++#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 ++#: lib/choose_repository.tcl:314 ++#, tcl-format ++msgid "Failed to create repository %s:" ++msgstr "La création du référentiel %s a échouée :" ++ ++#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 ++msgid "Directory:" ++msgstr "Répertoire :" ++ ++#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 ++#: lib/choose_repository.tcl:1013 ++msgid "Git Repository" ++msgstr "Référentiel Git" ++ ++#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 ++#, tcl-format ++msgid "Directory %s already exists." ++msgstr "Le répertoire %s existe déjà." ++ ++#: lib/choose_repository.tcl:442 ++#, tcl-format ++msgid "File %s already exists." ++msgstr "Le fichier %s existe déjà." ++ ++#: lib/choose_repository.tcl:463 ++msgid "Clone" ++msgstr "Cloner" ++ ++#: lib/choose_repository.tcl:476 ++msgid "URL:" ++msgstr "URL :" ++ ++#: lib/choose_repository.tcl:496 ++msgid "Clone Type:" ++msgstr "Type de clonage :" ++ ++#: lib/choose_repository.tcl:502 ++msgid "Standard (Fast, Semi-Redundant, Hardlinks)" ++msgstr "Standard (rapide, semi-redondant, liens durs)" ++ ++#: lib/choose_repository.tcl:508 ++msgid "Full Copy (Slower, Redundant Backup)" ++msgstr "Copy complète (plus lent, sauvegarde redondante)" ++ ++#: lib/choose_repository.tcl:514 ++msgid "Shared (Fastest, Not Recommended, No Backup)" ++msgstr "Partagé (le plus rapide, non recommandé, pas de sauvegarde)" ++ ++#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 ++#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 ++#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 ++#, tcl-format ++msgid "Not a Git repository: %s" ++msgstr "'%s' n'est pas un référentiel Git." ++ ++#: lib/choose_repository.tcl:586 ++msgid "Standard only available for local repository." ++msgstr "Standard n'est disponible que pour un référentiel local." ++ ++#: lib/choose_repository.tcl:590 ++msgid "Shared only available for local repository." ++msgstr "Partagé n'est disponible que pour un référentiel local." ++ ++#: lib/choose_repository.tcl:617 ++msgid "Failed to configure origin" ++msgstr "La configuration de l'origine a échouée." ++ ++#: lib/choose_repository.tcl:629 ++msgid "Counting objects" ++msgstr "Comptage des objets" ++ ++#: lib/choose_repository.tcl:630 ++msgid "buckets" ++msgstr "paniers" ++ ++#: lib/choose_repository.tcl:654 ++#, tcl-format ++msgid "Unable to copy objects/info/alternates: %s" ++msgstr "Impossible de copier 'objects/info/alternates' : %s" ++ ++#: lib/choose_repository.tcl:690 ++#, tcl-format ++msgid "Nothing to clone from %s." ++msgstr "Il n'y a rien à cloner depuis %s." ++ ++#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 ++#: lib/choose_repository.tcl:918 ++msgid "The 'master' branch has not been initialized." ++msgstr "Cette branche 'master' n'a pas été initialisée." ++ ++#: lib/choose_repository.tcl:705 ++msgid "Hardlinks are unavailable. Falling back to copying." ++msgstr "Les liens durs ne sont pas disponibles. On se résoud à copier." ++ ++#: lib/choose_repository.tcl:717 ++#, tcl-format ++msgid "Cloning from %s" ++msgstr "Clonage depuis %s" ++ ++#: lib/choose_repository.tcl:748 ++msgid "Copying objects" ++msgstr "Copie des objets" ++ ++#: lib/choose_repository.tcl:749 ++msgid "KiB" ++msgstr "KiB" ++ ++#: lib/choose_repository.tcl:773 ++#, tcl-format ++msgid "Unable to copy object: %s" ++msgstr "Impossible de copier l'objet : %s" ++ ++#: lib/choose_repository.tcl:783 ++msgid "Linking objects" ++msgstr "Liaison des objets" ++ ++#: lib/choose_repository.tcl:784 ++msgid "objects" ++msgstr "objets" ++ ++#: lib/choose_repository.tcl:792 ++#, tcl-format ++msgid "Unable to hardlink object: %s" ++msgstr "Impossible créer un lien dur pour l'objet : %s" ++ ++#: lib/choose_repository.tcl:847 ++msgid "Cannot fetch branches and objects. See console output for details." ++msgstr "Impossible de récupérer les branches et objets. Voir la sortie console pour plus de détails." ++ ++#: lib/choose_repository.tcl:858 ++msgid "Cannot fetch tags. See console output for details." ++msgstr "Impossible de récupérer les marques. Voir la sortie console pour plus de détails." ++ ++#: lib/choose_repository.tcl:882 ++msgid "Cannot determine HEAD. See console output for details." ++msgstr "Impossible de déterminer HEAD. Voir la sortie console pour plus de détails." ++ ++#: lib/choose_repository.tcl:891 ++#, tcl-format ++msgid "Unable to cleanup %s" ++msgstr "Impossible de nettoyer %s" ++ ++#: lib/choose_repository.tcl:897 ++msgid "Clone failed." ++msgstr "Le clonage a échoué." ++ ++#: lib/choose_repository.tcl:904 ++msgid "No default branch obtained." ++msgstr "Aucune branche par défaut n'a été obtenue." ++ ++#: lib/choose_repository.tcl:915 ++#, tcl-format ++msgid "Cannot resolve %s as a commit." ++msgstr "Impossible de résoudre %s comme commit." ++ ++#: lib/choose_repository.tcl:927 ++msgid "Creating working directory" ++msgstr "Création du répertoire de travail" ++ ++#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 ++#: lib/index.tcl:193 ++msgid "files" ++msgstr "fichiers" ++ ++#: lib/choose_repository.tcl:957 ++msgid "Initial file checkout failed." ++msgstr "L'emprunt initial de fichier a échoué." ++ ++#: lib/choose_repository.tcl:973 ++msgid "Open" ++msgstr "Ouvrir" ++ ++#: lib/choose_repository.tcl:983 ++msgid "Repository:" ++msgstr "Référentiel :" ++ ++#: lib/choose_repository.tcl:1033 ++#, tcl-format ++msgid "Failed to open repository %s:" ++msgstr "Impossible d'ouvrir le référentiel %s :" ++ ++#: lib/choose_rev.tcl:53 ++msgid "This Detached Checkout" ++msgstr "Cet emprunt détaché" ++ ++#: lib/choose_rev.tcl:60 ++msgid "Revision Expression:" ++msgstr "Expression de révision :" ++ ++#: lib/choose_rev.tcl:74 ++msgid "Local Branch" ++msgstr "Branche locale" ++ ++#: lib/choose_rev.tcl:79 ++msgid "Tracking Branch" ++msgstr "Suivi de branche" ++ ++#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 ++msgid "Tag" ++msgstr "Marque" ++ ++#: lib/choose_rev.tcl:317 ++#, tcl-format ++msgid "Invalid revision: %s" ++msgstr "Révision invalide : %s" ++ ++#: lib/choose_rev.tcl:338 ++msgid "No revision selected." ++msgstr "Pas de révision selectionnée." ++ ++#: lib/choose_rev.tcl:346 ++msgid "Revision expression is empty." ++msgstr "L'expression de révision est vide." ++ ++#: lib/choose_rev.tcl:530 ++msgid "Updated" ++msgstr "Misa à jour" ++ ++#: lib/choose_rev.tcl:558 ++msgid "URL" ++msgstr "URL" ++ ++#: lib/commit.tcl:9 ++msgid "" ++"There is nothing to amend.\n" ++"\n" ++"You are about to create the initial commit. There is no commit before this " ++"to amend.\n" ++msgstr "" ++"Il n'y a rien à corriger.\n" ++"\n" ++"Vous allez créer le commit initial. Il n'y a pas de commit avant celui-ci à corriger.\n" ++ ++#: lib/commit.tcl:18 ++msgid "" ++"Cannot amend while merging.\n" ++"\n" ++"You are currently in the middle of a merge that has not been fully " ++"completed. You cannot amend the prior commit unless you first abort the " ++"current merge activity.\n" ++msgstr "" ++"Impossible de corriger pendant une fusion.\n" ++"\n" ++"Vous êtes actuellement au milieu d'une fusion qui n'a pas été completement terminée. Vous ne pouvez pas corriger le commit précédant sauf si vous abandonnez la fusion courante.\n" ++ ++#: lib/commit.tcl:49 ++msgid "Error loading commit data for amend:" ++msgstr "Erreur lors du chargement des données de commit pour correction :" ++ ++#: lib/commit.tcl:76 ++msgid "Unable to obtain your identity:" ++msgstr "Impossible d'obtenir votre identité :" ++ ++#: lib/commit.tcl:81 ++msgid "Invalid GIT_COMMITTER_IDENT:" ++msgstr "GIT_COMMITTER_IDENT invalide :" ++ ++#: lib/commit.tcl:133 ++msgid "" ++"Last scanned state does not match repository state.\n" ++"\n" ++"Another Git program has modified this repository since the last scan. A " ++"rescan must be performed before another commit can be created.\n" ++"\n" ++"The rescan will be automatically started now.\n" ++msgstr "" ++"L'état lors de la dernière synchronisation ne correspond plus à l'état du référentiel.\n" ++"\n" ++"Un autre programme Git a modifié ce référentiel depuis la dernière synchronisation. Une resynshronisation doit être effectuée avant de pouvoir créer un nouveau commit.\n" ++"\n" ++"Cela va être fait tout de suite automatiquement.\n" ++ ++#: lib/commit.tcl:154 ++#, tcl-format ++msgid "" ++"Unmerged files cannot be committed.\n" ++"\n" ++"File %s has merge conflicts. You must resolve them and stage the file " ++"before committing.\n" ++msgstr "" ++"Des fichiers non fusionnés ne peuvent être commités.\n" ++"\n" ++"Le fichier %s a des conflicts de fusion. Vous devez les résoudre et pré-commiter le fichier avant de pouvoir commiter.\n" ++ ++#: lib/commit.tcl:162 ++#, tcl-format ++msgid "" ++"Unknown file state %s detected.\n" ++"\n" ++"File %s cannot be committed by this program.\n" ++msgstr "" ++"Un état de fichier inconnu %s a été détecté.\n" ++"\n" ++"Le fichier %s ne peut pas être commité par ce programme.\n" ++ ++#: lib/commit.tcl:170 ++msgid "" ++"No changes to commit.\n" ++"\n" ++"You must stage at least 1 file before you can commit.\n" ++msgstr "" ++"Pas de modification à commiter.\n" ++"\n" ++"Vous devez pré-commiter au moins 1 fichier avant de pouvoir commiter.\n" ++ ++#: lib/commit.tcl:183 ++msgid "" ++"Please supply a commit message.\n" ++"\n" ++"A good commit message has the following format:\n" ++"\n" ++"- First line: Describe in one sentence what you did.\n" ++"- Second line: Blank\n" ++"- Remaining lines: Describe why this change is good.\n" ++msgstr "" ++"Merci de fournir un message de commit.\n" ++"\n" ++"Un bon message de commit a le format suivant :\n" ++"\n" ++"- Première ligne : décrire en une phrase ce que vous avez fait.\n" ++"- Deuxième ligne : rien.\n" ++"- Lignes suivantes : Décrire pourquoi ces modifications sont bonnes.\n" ++ ++#: lib/commit.tcl:257 ++msgid "write-tree failed:" ++msgstr "write-tree a échoué :" ++ ++#: lib/commit.tcl:275 ++#, tcl-format ++msgid "Commit %s appears to be corrupt" ++msgstr "Le commit %s semble être corrompu" ++ ++#: lib/commit.tcl:279 ++msgid "" ++"No changes to commit.\n" ++"\n" ++"No files were modified by this commit and it was not a merge commit.\n" ++"\n" ++"A rescan will be automatically started now.\n" ++msgstr "" ++"Pas de modification à commiter.\n" ++"\n" ++"Aucun fichier n'a été modifié par ce commit et il ne s'agit pas d'un commit de fusion.\n" ++"\n" ++"Une resynchronisation va être lancée tout de suite automatiquement.\n" ++ ++#: lib/commit.tcl:286 ++msgid "No changes to commit." ++msgstr "Pas de modifications à commiter." ++ ++#: lib/commit.tcl:303 ++#, tcl-format ++msgid "warning: Tcl does not support encoding '%s'." ++msgstr "attention : Tcl ne supporte pas l'encodage '%s'." ++ ++#: lib/commit.tcl:317 ++msgid "commit-tree failed:" ++msgstr "commit-tree a échoué :" ++ ++#: lib/commit.tcl:339 ++msgid "update-ref failed:" ++msgstr "update-ref a échoué" ++ ++#: lib/commit.tcl:430 ++#, tcl-format ++msgid "Created commit %s: %s" ++msgstr "Commit créé %s : %s" ++ ++#: lib/console.tcl:57 ++msgid "Working... please wait..." ++msgstr "Travail en cours... merci de patienter..." ++ ++#: lib/console.tcl:183 ++msgid "Success" ++msgstr "Succès" ++ ++#: lib/console.tcl:196 ++msgid "Error: Command Failed" ++msgstr "Erreur : échec de la commande" ++ ++#: lib/database.tcl:43 ++msgid "Number of loose objects" ++msgstr "Nombre d'objets en fichier particulier" ++ ++#: lib/database.tcl:44 ++msgid "Disk space used by loose objects" ++msgstr "Espace disque utilisé par les fichiers particuliers" ++ ++#: lib/database.tcl:45 ++msgid "Number of packed objects" ++msgstr "Nombre d'objets empaquetés" ++ ++#: lib/database.tcl:46 ++msgid "Number of packs" ++msgstr "Nombre de paquets d'objets" ++ ++#: lib/database.tcl:47 ++msgid "Disk space used by packed objects" ++msgstr "Espace disque utilisé par les objets empaquetés" ++ ++#: lib/database.tcl:48 ++msgid "Packed objects waiting for pruning" ++msgstr "Objets empaquetés attendant d'être supprimés" ++ ++#: lib/database.tcl:49 ++msgid "Garbage files" ++msgstr "Fichiers poubelle" ++ ++#: lib/database.tcl:72ets ++msgid "Compressing the object database" ++msgstr "Compression de la base des objets" ++ ++#: lib/database.tcl:83 ++msgid "Verifying the object database with fsck-objects" ++msgstr "Vérification de la base des objets avec fsck-objects" ++ ++#: lib/database.tcl:108 ++#, tcl-format ++msgid "" ++"This repository currently has approximately %i loose objects.\n" ++"\n" ++"To maintain optimal performance it is strongly recommended that you compress " ++"the database when more than %i loose objects exist.\n" ++"\n" ++"Compress the database now?" ++msgstr "" ++"Ce référentiel comprend actuellement environ %i objets ayant leur fichier particulier.\n" ++"\n" ++"Pour conserver une performance optimale, il est fortement recommandé de comprimer la base quand plus de %i objets ayant leur fichier particulier existent.\n" ++"\n" ++"Comprimer la base maintenant ?" ++ ++#: lib/date.tcl:25 ++#, tcl-format ++msgid "Invalid date from Git: %s" ++msgstr "Date invalide de Git : %s" ++ ++#: lib/diff.tcl:42 ++#, tcl-format ++msgid "" ++"No differences detected.\n" ++"\n" ++"%s has no changes.\n" ++"\n" ++"The modification date of this file was updated by another application, but " ++"the content within the file was not changed.\n" ++"\n" ++"A rescan will be automatically started to find other files which may have " ++"the same state." ++msgstr "" ++"Aucune différence détectée.\n" ++"\n" ++"%s ne comporte aucune modification.\n" ++"\n" ++"La date de modification de ce fichier a été mise à jour par une autre application, mais le contenu du fichier n'a pas changé.\n" ++"\n" ++"Une resynchronisation va être lancée automatiquement pour trouver d'autres fichiers qui pourraient se trouver dans le même état." ++ ++#: lib/diff.tcl:81 ++#, tcl-format ++msgid "Loading diff of %s..." ++msgstr "Chargement des différences de %s..." ++ ++#: lib/diff.tcl:114 lib/diff.tcl:184 ++#, tcl-format ++msgid "Unable to display %s" ++msgstr "Impossible d'afficher %s" ++ ++#: lib/diff.tcl:115 ++msgid "Error loading file:" ++msgstr "Erreur lors du chargement du fichier :" ++ ++#: lib/diff.tcl:122 ++msgid "Git Repository (subproject)" ++msgstr "Référentiel Git (sous projet)" ++ ++#: lib/diff.tcl:134 ++msgid "* Binary file (not showing content)." ++msgstr "* Fichier binaire (pas d'apperçu du contenu)." ++ ++#: lib/diff.tcl:185 ++msgid "Error loading diff:" ++msgstr "Erreur lors du chargement des différences :" ++ ++#: lib/diff.tcl:302 ++msgid "Failed to unstage selected hunk." ++msgstr "La suppression dans le pré-commit de la section sélectionnée a échouée." ++ ++#: lib/diff.tcl:309 ++msgid "Failed to stage selected hunk." ++msgstr "Le pré-commit de la section sélectionnée a échoué." ++ ++#: lib/error.tcl:12 lib/error.tcl:102 ++msgid "error" ++msgstr "erreur" ++ ++#: lib/error.tcl:28 ++msgid "warning" ++msgstr "attention" ++ ++#: lib/error.tcl:81 ++msgid "You must correct the above errors before committing." ++msgstr "Vous devez corriger les erreurs suivantes avant de pouvoir commiter." ++ ++#: lib/index.tcl:6 ++msgid "Unable to unlock the index." ++msgstr "Impossible de dévérouiller le pré-commit." ++ ++#: lib/index.tcl:15 ++msgid "Index Error" ++msgstr "Erreur de pré-commit" ++ ++#: lib/index.tcl:21 ++msgid "" ++"Updating the Git index failed. A rescan will be automatically started to " ++"resynchronize git-gui." ++msgstr "Le pré-commit a échoué. Une resynchronisation va être lancée automatiquement." ++ ++#: lib/index.tcl:27 ++msgid "Continue" ++msgstr "Continuer" ++ ++#: lib/index.tcl:31 ++msgid "Unlock Index" ++msgstr "Dévérouiller le pré-commit" ++ ++#: lib/index.tcl:282 ++#, tcl-format ++msgid "Unstaging %s from commit" ++msgstr "Supprimer %s du commit" ++ ++#: lib/index.tcl:326 ++#, tcl-format ++msgid "Adding %s" ++msgstr "Ajouter %s" ++ ++#: lib/index.tcl:381 ++#, tcl-format ++msgid "Revert changes in file %s?" ++msgstr "Inverser les modifications dans le fichier %s ? " ++ ++#: lib/index.tcl:383 ++#, tcl-format ++msgid "Revert changes in these %i files?" ++msgstr "Inverser les modifications dans ces %i fichiers ?" ++ ++#: lib/index.tcl:389 ++msgid "Any unstaged changes will be permanently lost by the revert." ++msgstr "Toutes les modifications non pré-commitées seront définitivement perdues lors de l'inversion." ++ ++#: lib/index.tcl:392 ++msgid "Do Nothing" ++msgstr "Ne rien faire" ++ ++#: lib/merge.tcl:13 ++msgid "" ++"Cannot merge while amending.\n" ++"\n" ++"You must finish amending this commit before starting any type of merge.\n" ++msgstr "" ++"Impossible de fucionner pendant une correction.\n" ++"\n" ++"Vous devez finir de corriger ce commit avant de lancer une quelconque fusion.\n" ++ ++#: lib/merge.tcl:27 ++msgid "" ++"Last scanned state does not match repository state.\n" ++"\n" ++"Another Git program has modified this repository since the last scan. A " ++"rescan must be performed before a merge can be performed.\n" ++"\n" ++"The rescan will be automatically started now.\n" ++msgstr "" ++"L'état lors de la dernière synchronisation ne correspond plus à l'état du référentiel.\n" ++"\n" ++"Un autre programme Git a modifié ce référentiel depuis la dernière synchronisation. Une resynchronisation doit être effectuée avant de pouvoir fusionner de nouveau.\n" ++"\n" ++"Cela va être fait tout de suite automatiquement\n" ++ ++#: lib/merge.tcl:44 ++#, tcl-format ++msgid "" ++"You are in the middle of a conflicted merge.\n" ++"\n" ++"File %s has merge conflicts.\n" ++"\n" ++"You must resolve them, stage the file, and commit to complete the current " ++"merge. Only then can you begin another merge.\n" ++msgstr "" ++"Vous êtes au milieu d'une fusion conflictuelle.\n" ++"\n" ++"Le fichier %s a des conflicts de fusion.\n" ++"\n" ++"Vous devez les résoudre, puis pré-commiter le fichier, et enfin commiter pour terminer la fusion courante. Seulementà ce moment là, il sera possible d'effectuer une nouvelle fusion.\n" ++ ++#: lib/merge.tcl:54 ++#, tcl-format ++msgid "" ++"You are in the middle of a change.\n" ++"\n" ++"File %s is modified.\n" ++"\n" ++"You should complete the current commit before starting a merge. Doing so " ++"will help you abort a failed merge, should the need arise.\n" ++msgstr "" ++"Vous êtes au milieu d'une modification.\n" ++"\n" ++"Le fichier %s est modifié.\n" ++"\n" ++"Vous devriez terminer le commit courant avant de lancer une fusion. En faisait comme cela, vous éviterez de devoir éventuellement abandonner une fusion ayant échouée.\n" ++ ++#: lib/merge.tcl:106 ++#, tcl-format ++msgid "%s of %s" ++msgstr "%s de %s" ++ ++#: lib/merge.tcl:119 ++#, tcl-format ++msgid "Merging %s and %s" ++msgstr "Fusion de %s et %s" ++ ++#: lib/merge.tcl:131 ++msgid "Merge completed successfully." ++msgstr "La fusion s'est faite avec succès." ++ ++#: lib/merge.tcl:133 ++msgid "Merge failed. Conflict resolution is required." ++msgstr "La fusion a echouée. Il est nécessaire de résoudre les conflicts." ++ ++#: lib/merge.tcl:158 ++#, tcl-format ++msgid "Merge Into %s" ++msgstr "Fusion dans %s" ++ ++#: lib/merge.tcl:177 ++msgid "Revision To Merge" ++msgstr "Révision à fusionner" ++ ++#: lib/merge.tcl:212 ++msgid "" ++"Cannot abort while amending.\n" ++"\n" ++"You must finish amending this commit.\n" ++msgstr "" ++"Impossible d'abandonner en cours de correction.\n" ++"\n" ++"Vous devez finir de corriger ce commit.\n" ++ ++#: lib/merge.tcl:222 ++msgid "" ++"Abort merge?\n" ++"\n" ++"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" ++"\n" ++"Continue with aborting the current merge?" ++msgstr "" ++"Abandonner la fusion ?\n" ++"\n" ++"Abandonner la fusion courante entrainera la perte de TOUTES les modifications non commitées.\n" ++"\n" ++"Abandonner quand même la fusion courante ?" ++ ++#: lib/merge.tcl:228 ++msgid "" ++"Reset changes?\n" ++"\n" ++"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" ++"\n" ++"Continue with resetting the current changes?" ++msgstr "" ++"Réinitialiser les modifications ?\n" ++"\n" ++"Réinitialiser les modifications va faire perdre TOUTES les modifications non commitées.\n" ++"\n" ++"Réinitialiser quand même les modifications courantes ?" ++ ++#: lib/merge.tcl:239 ++msgid "Aborting" ++msgstr "Abandon" ++ ++#: lib/merge.tcl:266 ++msgid "Abort failed." ++msgstr "L'abandon a échoué." ++ ++#: lib/merge.tcl:268 ++msgid "Abort completed. Ready." ++msgstr "Abandon teminé. Prêt." ++ ++#: lib/option.tcl:82 ++msgid "Restore Defaults" ++msgstr "Remettre les valeurs par défaut" ++ ++#: lib/option.tcl:86 ++msgid "Save" ++msgstr "Sauvegarder" ++ ++#: lib/option.tcl:96 ++#, tcl-format ++msgid "%s Repository" ++msgstr "Référentiel de %s" ++ ++#: lib/option.tcl:97 ++msgid "Global (All Repositories)" ++msgstr "Globales (tous les référentiels)" ++ ++#: lib/option.tcl:103 ++msgid "User Name" ++msgstr "Nom d'utilisateur" ++ ++#: lib/option.tcl:104 ++msgid "Email Address" ++msgstr "Adresse email" ++ ++#: lib/option.tcl:106 ++msgid "Summarize Merge Commits" ++msgstr "Résumer les commits de fusion" ++ ++#: lib/option.tcl:107 ++msgid "Merge Verbosity" ++msgstr "Fusion bavarde" ++ ++#: lib/option.tcl:108 ++msgid "Show Diffstat After Merge" ++msgstr "Montrer statistiques de diff après fusion" ++ ++#: lib/option.tcl:110 ++msgid "Trust File Modification Timestamps" ++msgstr "Faire confiance aux dates de modification de fichiers " ++ ++#: lib/option.tcl:111 ++msgid "Prune Tracking Branches During Fetch" ++msgstr "Nettoyer les branches de suivi pendant la récupération" ++ ++#: lib/option.tcl:112 ++msgid "Match Tracking Branches" ++msgstr "Faire correspondre les branches de suivi" ++ ++#: lib/option.tcl:113 ++msgid "Number of Diff Context Lines" ++msgstr "Nombre de lignes de contexte dans les diffs" ++ ++#: lib/option.tcl:114 ++msgid "New Branch Name Template" ++msgstr "Nouveau modèle de nom de branche" ++ ++#: lib/option.tcl:176 ++msgid "Change Font" ++msgstr "Modifier les fontes" ++ ++#: lib/option.tcl:180 ++#, tcl-format ++msgid "Choose %s" ++msgstr "Choisir %s" ++ ++#: lib/option.tcl:186 ++msgid "pt." ++msgstr "pt." ++ ++#: lib/option.tcl:200 ++msgid "Preferences" ++msgstr "Préférences" ++ ++#: lib/option.tcl:235 ++msgid "Failed to completely save options:" ++msgstr "La sauvegarde complète des options a échouée :" ++ ++#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 ++msgid "Delete Remote Branch" ++msgstr "Supprimer branche distante" ++ ++#: lib/remote_branch_delete.tcl:47 ++msgid "From Repository" ++msgstr "Référentiel" ++ ++#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 ++msgid "Remote:" ++msgstr "Branche distante :" ++ ++#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 ++msgid "Arbitrary URL:" ++msgstr "URL arbitraire :" ++ ++#: lib/remote_branch_delete.tcl:84 ++msgid "Branches" ++msgstr "Branches" ++ ++#: lib/remote_branch_delete.tcl:109 ++msgid "Delete Only If" ++msgstr "Supprimer seulement si" ++ ++#: lib/remote_branch_delete.tcl:111 ++msgid "Merged Into:" ++msgstr "Fusionné dans :" ++ ++#: lib/remote_branch_delete.tcl:119 ++msgid "Always (Do not perform merge checks)" ++msgstr "Toujours (ne pas vérifier les fusions)" ++ ++#: lib/remote_branch_delete.tcl:152 ++msgid "A branch is required for 'Merged Into'." ++msgstr "Une branche est nécessaire pour 'Fusionné dans'." ++ ++#: lib/remote_branch_delete.tcl:184 ++#, tcl-format ++msgid "" ++"The following branches are not completely merged into %s:\n" ++"\n" ++" - %s" ++msgstr "" ++"Les branches suivantes ne sont pas complètement fusionnées dans %s :\n" ++"\n" ++" - %s" ++ ++#: lib/remote_branch_delete.tcl:189 ++#, tcl-format ++msgid "" ++"One or more of the merge tests failed because you have not fetched the " ++"necessary commits. Try fetching from %s first." ++msgstr "Une ou plusieurs des tests de fusion ont échoués parce que vous n'avez pas récupéré les commits nécessaires. Essayez de récupéré à partir de %s d'abord." ++ ++#: lib/remote_branch_delete.tcl:207 ++msgid "Please select one or more branches to delete." ++msgstr "Merci de sélectionner une ou plusieurs branches à supprimer." ++ ++#: lib/remote_branch_delete.tcl:216 ++msgid "" ++"Recovering deleted branches is difficult.\n" ++"\n" ++"Delete the selected branches?" ++msgstr "" ++"Récupérer des branches supprimées est difficile.\n" ++"\n" ++"Souhaitez vous supprimer les branches sélectionnées ?" ++ ++#: lib/remote_branch_delete.tcl:226 ++#, tcl-format ++msgid "Deleting branches from %s" ++msgstr "Supprimer les branches de %s" ++ ++#: lib/remote_branch_delete.tcl:286 ++msgid "No repository selected." ++msgstr "Aucun référentiel n'est sélectionné." ++ ++#: lib/remote_branch_delete.tcl:291 ++#, tcl-format ++msgid "Scanning %s..." ++msgstr "Synchronisation de %s..." ++ ++#: lib/remote.tcl:165 ++msgid "Prune from" ++msgstr "Nettoyer de" ++ ++#: lib/remote.tcl:170 ++msgid "Fetch from" ++msgstr "Récupérer de" ++ ++#: lib/remote.tcl:213 ++msgid "Push to" ++msgstr "Pousser vers" ++ ++#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 ++msgid "Cannot write shortcut:" ++msgstr "Impossible d'écrire le raccourcis :" ++ ++#: lib/shortcut.tcl:136 ++msgid "Cannot write icon:" ++msgstr "Impossible d'écrire l'icône :" ++ ++#: lib/status_bar.tcl:83 ++#, tcl-format ++msgid "%s ... %*i of %*i %s (%3i%%)" ++msgstr "%s ... %*i de %*i %s (%3i%%)" ++ ++#: lib/transport.tcl:6 ++#, tcl-format ++msgid "fetch %s" ++msgstr "récupérer %s" ++ ++#: lib/transport.tcl:7 ++#, tcl-format ++msgid "Fetching new changes from %s" ++msgstr "Récupération des dernières modifications de %s" ++ ++#: lib/transport.tcl:18 ++#, tcl-format ++msgid "remote prune %s" ++msgstr "nettoyer à distance %s" ++ ++#: lib/transport.tcl:19 ++#, tcl-format ++msgid "Pruning tracking branches deleted from %s" ++msgstr "Nettoyer les branches de suivi supprimées de %s" ++ ++#: lib/transport.tcl:25 lib/transport.tcl:71 ++#, tcl-format ++msgid "push %s" ++msgstr "pousser %s" ++ ++#: lib/transport.tcl:26 ++#, tcl-format ++msgid "Pushing changes to %s" ++msgstr "Les modifications sont poussées vers %s" ++ ++#: lib/transport.tcl:72 ++#, tcl-format ++msgid "Pushing %s %s to %s" ++msgstr "Pousse %s %s vers %s" ++ ++#: lib/transport.tcl:89 ++msgid "Push Branches" ++msgstr "Pousser branches" ++ ++#: lib/transport.tcl:103 ++msgid "Source Branches" ++msgstr "Branches source" ++ ++#: lib/transport.tcl:120 ++msgid "Destination Repository" ++msgstr "Référentiel de destination" ++ ++#: lib/transport.tcl:158 ++msgid "Transfer Options" ++msgstr "Transférer options" ++ ++#: lib/transport.tcl:160 ++msgid "Force overwrite existing branch (may discard changes)" ++msgstr "Forcer l'écrasement d'une branche existante (peut supprimer des modifications)" ++ ++#: lib/transport.tcl:164 ++msgid "Use thin pack (for slow network connections)" ++msgstr "Utiliser des petits paquets (pour les connexions lentes)" ++ ++#: lib/transport.tcl:168 ++msgid "Include tags" ++msgstr "Inclure les marques" ++ diff --cc git-gui/po/glossary/de.po index c94786c6a,000000000..0b33c572b mode 100644,000000..100644 --- a/git-gui/po/glossary/de.po +++ b/git-gui/po/glossary/de.po @@@ -1,185 -1,0 +1,189 @@@ +# Translation of git-gui glossary to German +# Copyright (C) 2007 Shawn Pearce, et al. +# This file is distributed under the same license as the git package. +# Christian Stimming , 2007 +# +msgid "" +msgstr "" +"Project-Id-Version: git-gui glossary\n" - "POT-Creation-Date: 2007-10-19 21:43+0200\n" - "PO-Revision-Date: 2007-10-20 15:24+0200\n" ++"POT-Creation-Date: 2008-01-07 21:20+0100\n" ++"PO-Revision-Date: 2008-01-15 20:32+0100\n" +"Last-Translator: Christian Stimming \n" +"Language-Team: German \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" + +#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)" +msgid "" +"English Term (Dear translator: This file will never be visible to the user!)" +msgstr "" +"Deutsche Übersetzung.\n" +"Andere deutsche SCM:\n" +" http://tortoisesvn.net/docs/release/TortoiseSVN_de/index.html und http://" +"tortoisesvn.tigris.org/svn/tortoisesvn/trunk/Languages/Tortoise_de.po " +"(username=guest, password empty, gut),\n" +" http://msdn.microsoft.com/de-de/library/ms181038(vs.80).aspx (MS Visual " +"Source Safe, kommerziell),\n" +" http://cvsbook.red-bean.com/translations/german/Kap_06.html " +"(mittelmäßig),\n" +" http://tortoisecvs.cvs.sourceforge.net/tortoisecvs/po/TortoiseCVS/de_DE.po?" +"view=markup (mittelmäßig),\n" +" http://rapidsvn.tigris.org/svn/rapidsvn/trunk/src/locale/de/rapidsvn.po " +"(username=guest, password empty, schlecht)" + +#. "" +msgid "amend" +msgstr "nachbessern (ergänzen)" + +#. "" +msgid "annotate" +msgstr "annotieren" + +#. "A 'branch' is an active line of development." +msgid "branch [noun]" +msgstr "Zweig" + +#. "" +msgid "branch [verb]" +msgstr "verzweigen" + +#. "" +msgid "checkout [noun]" +msgstr "" +"Arbeitskopie (Erstellung einer Arbeitskopie; Auscheck? Ausspielung? Abruf? " +"Source Safe: Auscheckvorgang)" + +#. "The action of updating the working tree to a revision which was stored in the object database." +msgid "checkout [verb]" +msgstr "" +"Arbeitskopie erstellen; Zweig umstellen [checkout a branch] (auschecken? " +"ausspielen? abrufen? Source Safe: auschecken)" + +#. "" +msgid "clone [verb]" - msgstr "kopieren" ++msgstr "klonen" + +#. "A single point in the git history." +msgid "commit [noun]" +msgstr "" +"Version; Eintragung; Änderung (Buchung?, Eintragung?, Übertragung?, " +"Sendung?, Übergabe?, Einspielung?, Ablagevorgang?)" + +#. "The action of storing a new snapshot of the project's state in the git history." +msgid "commit [verb]" +msgstr "" +"eintragen (TortoiseSVN: übertragen; Source Safe: einchecken; senden?, " +"übergeben?, einspielen?, einpflegen?, ablegen?)" + +#. "" +msgid "diff [noun]" +msgstr "Vergleich (Source Safe: Unterschiede)" + +#. "" +msgid "diff [verb]" +msgstr "vergleichen" + +#. "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have." +msgid "fast forward merge" +msgstr "Schnellzusammenführung" + +#. "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too." +msgid "fetch" +msgstr "anfordern (holen?)" + ++#. "One context of consecutive lines in a whole patch, which consists of many such hunks" ++msgid "hunk" ++msgstr "Kontext" ++ +#. "A collection of files. The index is a stored version of your working tree." +msgid "index (in git-gui: staging area)" +msgstr "Bereitstellung" + +#. "A successful merge results in the creation of a new commit representing the result of the merge." +msgid "merge [noun]" +msgstr "Zusammenführung" + +#. "To bring the contents of another branch into the current branch." +msgid "merge [verb]" +msgstr "zusammenführen" + +#. "" +msgid "message" +msgstr "Beschreibung (Meldung?, Nachricht?; Source Safe: Kommentar)" + +#. "Deletes all stale tracking branches under . These stale branches have already been removed from the remote repository referenced by , but are still locally available in 'remotes/'." +msgid "prune" +msgstr "entfernen" + +#. "Pulling a branch means to fetch it and merge it." +msgid "pull" +msgstr "übernehmen (ziehen?)" + +#. "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)" +msgid "push" +msgstr "versenden (ausliefern? hochladen? verschicken? schieben?)" + +#. "" +msgid "redo" +msgstr "wiederholen" + +#. "An other repository ('remote'). One might have a set of remotes whose branches one tracks." +msgid "remote" +msgstr "Andere Archive (Gegenseite?, Entfernte?, Server?)" + +#. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)" +msgid "repository" +msgstr "Projektarchiv" + +#. "" +msgid "reset" +msgstr "zurücksetzen (zurückkehren?)" + +#. "" +msgid "revert" - msgstr "revidieren" ++msgstr "verwerfen (bei git-reset), revidieren (bei git-revert, also mit neuem commit)" + +#. "A particular state of files and directories which was stored in the object database." +msgid "revision" +msgstr "Version (TortoiseSVN: Revision; Source Safe: Version)" + +#. "" +msgid "sign off" +msgstr "abzeichnen (gegenzeichnen?, freizeichnen?, absegnen?)" + +#. "" +msgid "staging area" +msgstr "Bereitstellung" + +#. "" +msgid "status" +msgstr "Status" + +#. "A ref pointing to a tag or commit object" +msgid "tag [noun]" +msgstr "Markierung" + +#. "" +msgid "tag [verb]" +msgstr "markieren" + +#. "A regular git branch that is used to follow changes from another repository." +msgid "tracking branch" +msgstr "Übernahmezweig" + +#. "" +msgid "undo" +msgstr "rückgängig" + +#. "" +msgid "update" +msgstr "aktualisieren" + +#. "" +msgid "verify" +msgstr "überprüfen" + +#. "The tree of actual checked out files." +msgid "working copy, working tree" +msgstr "Arbeitskopie" diff --cc git-gui/po/glossary/fr.po index 000000000,000000000..bb2feaf13 new file mode 100644 --- /dev/null +++ b/git-gui/po/glossary/fr.po @@@ -1,0 -1,0 +1,166 @@@ ++# translation of fr.po to French ++# Translation of git-gui glossary to French ++# Copyright (C) 2008 Shawn Pearce, et al. ++# ++# Christian Couder , 2008. ++msgid "" ++msgstr "" ++"Project-Id-Version: fr\n" ++"POT-Creation-Date: 2008-01-15 21:04+0100\n" ++"PO-Revision-Date: 2008-01-15 21:17+0100\n" ++"Last-Translator: Christian Couder \n" ++"Language-Team: French\n" ++"MIME-Version: 1.0\n" ++"Content-Type: text/plain; charset=UTF-8\n" ++"Content-Transfer-Encoding: 8bit\n" ++"X-Generator: KBabel 1.11.4\n" ++"Plural-Forms: nplurals=2; plural=(n > 1);\n" ++ ++#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)" ++msgid "English Term (Dear translator: This file will never be visible to the user!)" ++msgstr "" ++ ++#. "" ++msgid "amend" ++msgstr "corriger" ++ ++#. "" ++msgid "annotate" ++msgstr "annoter" ++ ++#. "A 'branch' is an active line of development." ++msgid "branch [noun]" ++msgstr "branche" ++ ++#. "" ++msgid "branch [verb]" ++msgstr "créer une branche" ++ ++#. "" ++msgid "checkout [noun]" ++msgstr "emprunt" ++ ++#. "The action of updating the working tree to a revision which was stored in the object database." ++msgid "checkout [verb]" ++msgstr "emprunter" ++ ++#. "" ++msgid "clone [verb]" ++msgstr "cloner" ++ ++#. "A single point in the git history." ++msgid "commit [noun]" ++msgstr "commit" ++ ++#. "The action of storing a new snapshot of the project's state in the git history." ++msgid "commit [verb]" ++msgstr "commiter" ++ ++#. "" ++msgid "diff [noun]" ++msgstr "différence" ++ ++#. "" ++msgid "diff [verb]" ++msgstr "comparer" ++ ++#. "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have." ++msgid "fast forward merge" ++msgstr "fusion par avance rapide" ++ ++#. "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too." ++msgid "fetch" ++msgstr "récupérer" ++ ++#. "A collection of files. The index is a stored version of your working tree." ++msgid "index (in git-gui: staging area)" ++msgstr "pré-commit" ++ ++#. "A successful merge results in the creation of a new commit representing the result of the merge." ++msgid "merge [noun]" ++msgstr "fusion" ++ ++#. "To bring the contents of another branch into the current branch." ++msgid "merge [verb]" ++msgstr "fusionner" ++ ++#. "" ++msgid "message" ++msgstr "message" ++ ++#. "Deletes all stale tracking branches under . These stale branches have already been removed from the remote repository referenced by , but are still locally available in 'remotes/'." ++msgid "prune" ++msgstr "nettoyer" ++ ++#. "Pulling a branch means to fetch it and merge it." ++msgid "pull" ++msgstr "tirer" ++ ++#. "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)" ++msgid "push" ++msgstr "pousser" ++ ++#. "" ++msgid "redo" ++msgstr "refaire" ++ ++#. "An other repository ('remote'). One might have a set of remotes whose branches one tracks." ++msgid "remote" ++msgstr "référentiel distant" ++ ++#. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)" ++msgid "repository" ++msgstr "référentiel" ++ ++#. "" ++msgid "reset" ++msgstr "réinitialiser" ++ ++#. "" ++msgid "revert" ++msgstr "inverser" ++ ++#. "A particular state of files and directories which was stored in the object database." ++msgid "revision" ++msgstr "révision" ++ ++#. "" ++msgid "sign off" ++msgstr "signer" ++ ++#. "" ++msgid "staging area" ++msgstr "pré-commit" ++ ++#. "" ++msgid "status" ++msgstr "état" ++ ++#. "A ref pointing to a tag or commit object" ++msgid "tag [noun]" ++msgstr "marque" ++ ++#. "" ++msgid "tag [verb]" ++msgstr "marquer" ++ ++#. "A regular git branch that is used to follow changes from another repository." ++msgid "tracking branch" ++msgstr "branche de suivi" ++ ++#. "" ++msgid "undo" ++msgstr "défaire" ++ ++#. "" ++msgid "update" ++msgstr "mise à jour" ++ ++#. "" ++msgid "verify" ++msgstr "vérifier" ++ ++#. "The tree of actual checked out files." ++msgid "working copy, working tree" ++msgstr "copie de travail, arborescence de travail" ++ diff --cc git-gui/po/glossary/git-gui-glossary.pot index 48af80331,000000000..40eb3e9c0 mode 100644,000000..100644 --- a/git-gui/po/glossary/git-gui-glossary.pot +++ b/git-gui/po/glossary/git-gui-glossary.pot @@@ -1,164 -1,0 +1,168 @@@ +# SOME DESCRIPTIVE TITLE. +# Copyright (C) YEAR Free Software Foundation, Inc. +# FIRST AUTHOR , YEAR. +# +#, fuzzy +msgid "" +msgstr "" +"Project-Id-Version: PACKAGE VERSION\n" - "POT-Creation-Date: 2007-10-19 21:43+0200\n" ++"POT-Creation-Date: 2008-01-07 21:20+0100\n" +"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" +"Last-Translator: FULL NAME \n" +"Language-Team: LANGUAGE \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=CHARSET\n" +"Content-Transfer-Encoding: ENCODING\n" + +#. "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)" +msgid "English Term (Dear translator: This file will never be visible to the user!)" +msgstr "" + +#. "" +msgid "amend" +msgstr "" + +#. "" +msgid "annotate" +msgstr "" + +#. "A 'branch' is an active line of development." +msgid "branch [noun]" +msgstr "" + +#. "" +msgid "branch [verb]" +msgstr "" + +#. "" +msgid "checkout [noun]" +msgstr "" + +#. "The action of updating the working tree to a revision which was stored in the object database." +msgid "checkout [verb]" +msgstr "" + +#. "" +msgid "clone [verb]" +msgstr "" + +#. "A single point in the git history." +msgid "commit [noun]" +msgstr "" + +#. "The action of storing a new snapshot of the project's state in the git history." +msgid "commit [verb]" +msgstr "" + +#. "" +msgid "diff [noun]" +msgstr "" + +#. "" +msgid "diff [verb]" +msgstr "" + +#. "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have." +msgid "fast forward merge" +msgstr "" + +#. "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too." +msgid "fetch" +msgstr "" + ++#. "One context of consecutive lines in a whole patch, which consists of many such hunks" ++msgid "hunk" ++msgstr "" ++ +#. "A collection of files. The index is a stored version of your working tree." +msgid "index (in git-gui: staging area)" +msgstr "" + +#. "A successful merge results in the creation of a new commit representing the result of the merge." +msgid "merge [noun]" +msgstr "" + +#. "To bring the contents of another branch into the current branch." +msgid "merge [verb]" +msgstr "" + +#. "" +msgid "message" +msgstr "" + +#. "Deletes all stale tracking branches under . These stale branches have already been removed from the remote repository referenced by , but are still locally available in 'remotes/'." +msgid "prune" +msgstr "" + +#. "Pulling a branch means to fetch it and merge it." +msgid "pull" +msgstr "" + +#. "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)" +msgid "push" +msgstr "" + +#. "" +msgid "redo" +msgstr "" + +#. "An other repository ('remote'). One might have a set of remotes whose branches one tracks." +msgid "remote" +msgstr "" + +#. "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)" +msgid "repository" +msgstr "" + +#. "" +msgid "reset" +msgstr "" + +#. "" +msgid "revert" +msgstr "" + +#. "A particular state of files and directories which was stored in the object database." +msgid "revision" +msgstr "" + +#. "" +msgid "sign off" +msgstr "" + +#. "" +msgid "staging area" +msgstr "" + +#. "" +msgid "status" +msgstr "" + +#. "A ref pointing to a tag or commit object" +msgid "tag [noun]" +msgstr "" + +#. "" +msgid "tag [verb]" +msgstr "" + +#. "A regular git branch that is used to follow changes from another repository." +msgid "tracking branch" +msgstr "" + +#. "" +msgid "undo" +msgstr "" + +#. "" +msgid "update" +msgstr "" + +#. "" +msgid "verify" +msgstr "" + +#. "The tree of actual checked out files." +msgid "working copy, working tree" +msgstr "" + diff --cc git-gui/po/glossary/git-gui-glossary.txt index 500d0a0ea,000000000..9b31f6915 mode 100644,000000..100644 --- a/git-gui/po/glossary/git-gui-glossary.txt +++ b/git-gui/po/glossary/git-gui-glossary.txt @@@ -1,37 -1,0 +1,38 @@@ +"English Term (Dear translator: This file will never be visible to the user!)" "English Definition (Dear translator: This file will never be visible to the user! It should only serve as a tool for you, the translator. Nothing more.)" +"amend" "" +"annotate" "" +"branch [noun]" "A 'branch' is an active line of development." +"branch [verb]" "" +"checkout [noun]" "" +"checkout [verb]" "The action of updating the working tree to a revision which was stored in the object database." +"clone [verb]" "" +"commit [noun]" "A single point in the git history." +"commit [verb]" "The action of storing a new snapshot of the project's state in the git history." +"diff [noun]" "" +"diff [verb]" "" +"fast forward merge" "A fast-forward is a special type of merge where you have a revision and you are merging another branch's changes that happen to be a descendant of what you have." +"fetch" "Fetching a branch means to get the branch's head from a remote repository, to find out which objects are missing from the local object database, and to get them, too." ++"hunk" "One context of consecutive lines in a whole patch, which consists of many such hunks" +"index (in git-gui: staging area)" "A collection of files. The index is a stored version of your working tree." +"merge [noun]" "A successful merge results in the creation of a new commit representing the result of the merge." +"merge [verb]" "To bring the contents of another branch into the current branch." +"message" "" +"prune" "Deletes all stale tracking branches under . These stale branches have already been removed from the remote repository referenced by , but are still locally available in 'remotes/'." +"pull" "Pulling a branch means to fetch it and merge it." +"push" "Pushing a branch means to get the branch's head ref from a remote repository, and ... (well, can someone please explain it for mere mortals?)" +"redo" "" +"remote" "An other repository ('remote'). One might have a set of remotes whose branches one tracks." +"repository" "A collection of refs (?) together with an object database containing all objects which are reachable from the refs... (oops, you've lost me here. Again, please an explanation for mere mortals?)" +"reset" "" +"revert" "" +"revision" "A particular state of files and directories which was stored in the object database." +"sign off" "" +"staging area" "" +"status" "" +"tag [noun]" "A ref pointing to a tag or commit object" +"tag [verb]" "" +"tracking branch" "A regular git branch that is used to follow changes from another repository." +"undo" "" +"update" "" +"verify" "" +"working copy, working tree" "The tree of actual checked out files." diff --cc git-gui/po/sv.po index 58c96c85d,000000000..cd3f40b4a mode 100644,000000..100644 --- a/git-gui/po/sv.po +++ b/git-gui/po/sv.po @@@ -1,1895 -1,0 +1,1895 @@@ +# Swedish translation of git-gui. +# Copyright (C) 2007 Shawn Pearce, et al. +# This file is distributed under the same license as the git-gui package. +# - # Peter Karlsson , 2007. ++# Peter Karlsson , 2007-2008. +msgid "" +msgstr "" +"Project-Id-Version: sv\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2007-11-24 10:36+0100\n" - "PO-Revision-Date: 2007-12-27 13:31CET-1\n" ++"PO-Revision-Date: 2008-01-12 09:27+0100\n" +"Last-Translator: Peter Karlsson \n" +"Language-Team: Swedish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"X-Generator: KBabel 1.11.4\n" + +#: git-gui.sh:41 git-gui.sh:604 git-gui.sh:618 git-gui.sh:631 git-gui.sh:714 +#: git-gui.sh:733 +msgid "git-gui: fatal error" +msgstr "git-gui: ödesdigert fel" + +#: git-gui.sh:565 +#, tcl-format +msgid "Invalid font specified in %s:" +msgstr "Ogiltigt teckensnitt angivet i %s:" + +#: git-gui.sh:590 +msgid "Main Font" +msgstr "Huvudteckensnitt" + +#: git-gui.sh:591 +msgid "Diff/Console Font" +msgstr "Diff/konsolteckensnitt" + +#: git-gui.sh:605 +msgid "Cannot find git in PATH." +msgstr "Hittar inte git i PATH." + +#: git-gui.sh:632 +msgid "Cannot parse Git version string:" +msgstr "Kan inte tolka versionssträng frÃ¥n Git:" + +#: git-gui.sh:650 +#, tcl-format +msgid "" +"Git version cannot be determined.\n" +"\n" +"%s claims it is version '%s'.\n" +"\n" +"%s requires at least Git 1.5.0 or later.\n" +"\n" +"Assume '%s' is version 1.5.0?\n" +msgstr "" +"Kan inte avgöra Gits version.\n" +"\n" +"%s säger att dess version är \"%s\".\n" +"\n" +"%s kräver minst Git 1.5.0 eller senare.\n" +"\n" +"Anta att \"%s\" är version 1.5.0?\n" + +#: git-gui.sh:888 +msgid "Git directory not found:" +msgstr "Git-katalogen hittades inte:" + +#: git-gui.sh:895 +msgid "Cannot move to top of working directory:" - msgstr "Kunde inte gÃ¥ till början pÃ¥ arbetskatalogen:" ++msgstr "Kan inte gÃ¥ till början pÃ¥ arbetskatalogen:" + +#: git-gui.sh:902 +msgid "Cannot use funny .git directory:" - msgstr "Kunde inte använda underlig .git-katalog:" ++msgstr "Kan inte använda underlig .git-katalog:" + +#: git-gui.sh:907 +msgid "No working directory" +msgstr "Ingen arbetskatalog" + +#: git-gui.sh:1054 +msgid "Refreshing file status..." +msgstr "Uppdaterar filstatus..." + +#: git-gui.sh:1119 +msgid "Scanning for modified files ..." +msgstr "Söker efter ändrade filer..." + +#: git-gui.sh:1294 lib/browser.tcl:245 +msgid "Ready." - msgstr "Redo." ++msgstr "Klar." + +#: git-gui.sh:1560 +msgid "Unmodified" +msgstr "Oförändrade" + +#: git-gui.sh:1562 +msgid "Modified, not staged" +msgstr "Förändrade, ej köade" + +#: git-gui.sh:1563 git-gui.sh:1568 +msgid "Staged for commit" +msgstr "Köade för incheckning" + +#: git-gui.sh:1564 git-gui.sh:1569 +msgid "Portions staged for commit" +msgstr "Delar köade för incheckning" + +#: git-gui.sh:1565 git-gui.sh:1570 +msgid "Staged for commit, missing" +msgstr "Köade för incheckning, saknade" + +#: git-gui.sh:1567 +msgid "Untracked, not staged" +msgstr "Ej spÃ¥rade, ej köade" + +#: git-gui.sh:1572 +msgid "Missing" +msgstr "Saknade" + +#: git-gui.sh:1573 +msgid "Staged for removal" +msgstr "Köade för borttagning" + +#: git-gui.sh:1574 +msgid "Staged for removal, still present" +msgstr "Köade för borttagning, fortfarande närvarande" + +#: git-gui.sh:1576 git-gui.sh:1577 git-gui.sh:1578 git-gui.sh:1579 +msgid "Requires merge resolution" - msgstr "Kräver avgörande efter sammanslagning" ++msgstr "Kräver konflikthantering efter sammanslagning" + +#: git-gui.sh:1614 +msgid "Starting gitk... please wait..." +msgstr "Startar gitk... vänta..." + +#: git-gui.sh:1623 +#, tcl-format +msgid "" +"Unable to start gitk:\n" +"\n" +"%s does not exist" +msgstr "" +"Kan inte starta gitk:\n" +"\n" +"%s finns inte" + +#: git-gui.sh:1823 lib/choose_repository.tcl:35 +msgid "Repository" +msgstr "Arkiv" + +#: git-gui.sh:1824 +msgid "Edit" +msgstr "Redigera" + +#: git-gui.sh:1826 lib/choose_rev.tcl:560 +msgid "Branch" +msgstr "Gren" + +#: git-gui.sh:1829 lib/choose_rev.tcl:547 +msgid "Commit@@noun" +msgstr "Incheckning" + +#: git-gui.sh:1832 lib/merge.tcl:121 lib/merge.tcl:150 lib/merge.tcl:168 +msgid "Merge" +msgstr "SlÃ¥ ihop" + +#: git-gui.sh:1833 lib/choose_rev.tcl:556 +msgid "Remote" +msgstr "Fjärr" + +#: git-gui.sh:1842 +msgid "Browse Current Branch's Files" +msgstr "Bläddra i grenens filer" + +#: git-gui.sh:1846 +msgid "Browse Branch Files..." +msgstr "Bläddra filer pÃ¥ gren..." + +#: git-gui.sh:1851 +msgid "Visualize Current Branch's History" +msgstr "Visualisera grenens historik" + +#: git-gui.sh:1855 +msgid "Visualize All Branch History" +msgstr "Visualisera alla grenars historik" + +#: git-gui.sh:1862 +#, tcl-format +msgid "Browse %s's Files" +msgstr "Bläddra i filer för %s" + +#: git-gui.sh:1864 +#, tcl-format +msgid "Visualize %s's History" +msgstr "Visualisera historik för %s" + +#: git-gui.sh:1869 lib/database.tcl:27 lib/database.tcl:67 +msgid "Database Statistics" +msgstr "Databasstatistik" + +#: git-gui.sh:1872 lib/database.tcl:34 +msgid "Compress Database" +msgstr "Komprimera databas" + +#: git-gui.sh:1875 +msgid "Verify Database" +msgstr "Verifiera databas" + +#: git-gui.sh:1882 git-gui.sh:1886 git-gui.sh:1890 lib/shortcut.tcl:7 +#: lib/shortcut.tcl:39 lib/shortcut.tcl:71 +msgid "Create Desktop Icon" +msgstr "Skapa skrivbordsikon" + +#: git-gui.sh:1895 lib/choose_repository.tcl:176 lib/choose_repository.tcl:184 +msgid "Quit" +msgstr "Avsluta" + +#: git-gui.sh:1902 +msgid "Undo" +msgstr "Ångra" + +#: git-gui.sh:1905 +msgid "Redo" +msgstr "Gör om" + +#: git-gui.sh:1909 git-gui.sh:2403 +msgid "Cut" +msgstr "Klipp ut" + +#: git-gui.sh:1912 git-gui.sh:2406 git-gui.sh:2477 git-gui.sh:2549 +#: lib/console.tcl:67 +msgid "Copy" +msgstr "Kopiera" + +#: git-gui.sh:1915 git-gui.sh:2409 +msgid "Paste" +msgstr "Klistra in" + +#: git-gui.sh:1918 git-gui.sh:2412 lib/branch_delete.tcl:26 +#: lib/remote_branch_delete.tcl:38 +msgid "Delete" +msgstr "Ta bort" + +#: git-gui.sh:1922 git-gui.sh:2416 git-gui.sh:2553 lib/console.tcl:69 +msgid "Select All" +msgstr "Markera alla" + +#: git-gui.sh:1931 +msgid "Create..." +msgstr "Skapa..." + +#: git-gui.sh:1937 +msgid "Checkout..." +msgstr "Checka ut..." + +#: git-gui.sh:1943 +msgid "Rename..." +msgstr "Byt namn..." + +#: git-gui.sh:1948 git-gui.sh:2048 +msgid "Delete..." +msgstr "Ta bort..." + +#: git-gui.sh:1953 +msgid "Reset..." +msgstr "Återställ..." + +#: git-gui.sh:1965 git-gui.sh:2350 +msgid "New Commit" +msgstr "Ny incheckning" + +#: git-gui.sh:1973 git-gui.sh:2357 +msgid "Amend Last Commit" +msgstr "Lägg till föregÃ¥ende incheckning" + +#: git-gui.sh:1982 git-gui.sh:2317 lib/remote_branch_delete.tcl:99 +msgid "Rescan" +msgstr "Sök pÃ¥ nytt" + +#: git-gui.sh:1988 +msgid "Stage To Commit" +msgstr "Köa för incheckning" + +#: git-gui.sh:1994 +msgid "Stage Changed Files To Commit" +msgstr "Köa ändrade filer för incheckning" + +#: git-gui.sh:2000 +msgid "Unstage From Commit" +msgstr "Ta bort frÃ¥n incheckningskö" + +#: git-gui.sh:2005 lib/index.tcl:393 +msgid "Revert Changes" +msgstr "Återställ ändringar" + +#: git-gui.sh:2012 git-gui.sh:2329 git-gui.sh:2427 +msgid "Sign Off" +msgstr "Skriv under" + +#: git-gui.sh:2016 git-gui.sh:2333 +msgid "Commit@@verb" +msgstr "Checka in" + +#: git-gui.sh:2027 +msgid "Local Merge..." +msgstr "Lokal sammanslagning..." + +#: git-gui.sh:2032 +msgid "Abort Merge..." +msgstr "Avbryt sammanslagning..." + +#: git-gui.sh:2044 +msgid "Push..." +msgstr "Sänd..." + +#: git-gui.sh:2055 lib/choose_repository.tcl:40 +msgid "Apple" +msgstr "Äpple" + +#: git-gui.sh:2058 git-gui.sh:2080 lib/about.tcl:13 +#: lib/choose_repository.tcl:43 lib/choose_repository.tcl:49 +#, tcl-format +msgid "About %s" +msgstr "Om %s" + +#: git-gui.sh:2062 +msgid "Preferences..." +msgstr "Inställningar..." + +#: git-gui.sh:2070 git-gui.sh:2595 +msgid "Options..." +msgstr "Alternativ..." + +#: git-gui.sh:2076 lib/choose_repository.tcl:46 +msgid "Help" +msgstr "Hjälp" + +#: git-gui.sh:2117 +msgid "Online Documentation" +msgstr "Webbdokumentation" + +#: git-gui.sh:2201 +#, tcl-format +msgid "fatal: cannot stat path %s: No such file or directory" +msgstr "ödesdigert: kunde inte ta status pÃ¥ sökvägen %s: Fil eller katalog saknas" + +#: git-gui.sh:2234 +msgid "Current Branch:" +msgstr "Aktuell gren:" + +#: git-gui.sh:2255 +msgid "Staged Changes (Will Commit)" +msgstr "Köade ändringar (kommer att checkas in)" + +#: git-gui.sh:2274 +msgid "Unstaged Changes" +msgstr "Oköade ändringar" + +#: git-gui.sh:2323 +msgid "Stage Changed" +msgstr "Köa ändrade" + +#: git-gui.sh:2339 lib/transport.tcl:93 lib/transport.tcl:182 +msgid "Push" +msgstr "Sänd" + +#: git-gui.sh:2369 +msgid "Initial Commit Message:" +msgstr "Inledande incheckningsmeddelande:" + +#: git-gui.sh:2370 +msgid "Amended Commit Message:" +msgstr "Utökat incheckningsmeddelande:" + +#: git-gui.sh:2371 +msgid "Amended Initial Commit Message:" +msgstr "Utökat inledande incheckningsmeddelande:" + +#: git-gui.sh:2372 +msgid "Amended Merge Commit Message:" +msgstr "Utökat incheckningsmeddelande för sammanslagning:" + +#: git-gui.sh:2373 +msgid "Merge Commit Message:" +msgstr "Incheckningsmeddelande för sammanslagning:" + +#: git-gui.sh:2374 +msgid "Commit Message:" +msgstr "Incheckningsmeddelande:" + +#: git-gui.sh:2419 git-gui.sh:2557 lib/console.tcl:71 +msgid "Copy All" +msgstr "Kopiera alla" + +#: git-gui.sh:2443 lib/blame.tcl:104 +msgid "File:" +msgstr "Fil:" + +#: git-gui.sh:2545 +msgid "Refresh" +msgstr "Uppdatera" + +#: git-gui.sh:2566 +msgid "Apply/Reverse Hunk" +msgstr "Använd/Ã¥terställ del" + +#: git-gui.sh:2572 +msgid "Decrease Font Size" +msgstr "Minska teckensnittsstorlek" + +#: git-gui.sh:2576 +msgid "Increase Font Size" +msgstr "Öka teckensnittsstorlek" + +#: git-gui.sh:2581 +msgid "Show Less Context" +msgstr "Visa mindre sammanhang" + +#: git-gui.sh:2588 +msgid "Show More Context" +msgstr "Visa mer sammanhang" + +#: git-gui.sh:2602 +msgid "Unstage Hunk From Commit" +msgstr "Ta bort del ur incheckningskö" + +#: git-gui.sh:2604 +msgid "Stage Hunk For Commit" +msgstr "Ställ del i incheckningskö" + +#: git-gui.sh:2623 +msgid "Initializing..." +msgstr "Initierar..." + +#: git-gui.sh:2718 +#, tcl-format +msgid "" +"Possible environment issues exist.\n" +"\n" +"The following environment variables are probably\n" +"going to be ignored by any Git subprocess run\n" +"by %s:\n" +"\n" +msgstr "" +"Det finns möjliga problem med miljövariabler.\n" +"\n" +"Följande miljövariabler kommer troligen att\n" +"ignoreras av alla Git-underprocesser som körs\n" +"av %s:\n" +"\n" + +#: git-gui.sh:2748 +msgid "" +"\n" +"This is due to a known issue with the\n" +"Tcl binary distributed by Cygwin." +msgstr "" +"\n" +"Detta beror pÃ¥ ett känt problem med\n" +"Tcl-binären som följer med Cygwin." + +#: git-gui.sh:2753 +#, tcl-format +msgid "" +"\n" +"\n" +"A good replacement for %s\n" +"is placing values for the user.name and\n" +"user.email settings into your personal\n" +"~/.gitconfig file.\n" +msgstr "" +"\n" +"\n" +"Du kan ersätta %s\n" +"med att lägga in värden för inställningarna\n" +"user.name och user.email i din personliga\n" +"~/.gitconfig-fil.\n" + +#: lib/about.tcl:25 +msgid "git-gui - a graphical user interface for Git." +msgstr "git-gui - ett grafiskt användargränssnitt för Git." + +#: lib/blame.tcl:77 +msgid "File Viewer" +msgstr "Filvisare" + +#: lib/blame.tcl:81 +msgid "Commit:" +msgstr "Incheckning:" + +#: lib/blame.tcl:249 +msgid "Copy Commit" +msgstr "Kopiera incheckning" + +#: lib/blame.tcl:369 +#, tcl-format +msgid "Reading %s..." +msgstr "Läser %s..." + +#: lib/blame.tcl:473 +msgid "Loading copy/move tracking annotations..." - msgstr "Läser spÃ¥rningsanteckningar för kopiering/flyttning..." ++msgstr "Läser annoteringar för kopiering/flyttning..." + +#: lib/blame.tcl:493 +msgid "lines annotated" - msgstr "rader spÃ¥rade" ++msgstr "rader annoterade" + +#: lib/blame.tcl:674 +msgid "Loading original location annotations..." - msgstr "Läser in spÃ¥rning av originalplacering..." ++msgstr "Läser in annotering av originalplacering..." + +#: lib/blame.tcl:677 +msgid "Annotation complete." - msgstr "SpÃ¥rning fullbordad." ++msgstr "Annotering fullbordad." + +#: lib/blame.tcl:731 +msgid "Loading annotation..." - msgstr "Läser in spÃ¥rning..." ++msgstr "Läser in annotering..." + +#: lib/blame.tcl:787 +msgid "Author:" +msgstr "Författare:" + +#: lib/blame.tcl:791 +msgid "Committer:" +msgstr "Incheckare:" + +#: lib/blame.tcl:796 +msgid "Original File:" +msgstr "Ursprunglig fil:" + +#: lib/blame.tcl:910 +msgid "Originally By:" +msgstr "Ursprungligen av:" + +#: lib/blame.tcl:916 +msgid "In File:" +msgstr "I filen:" + +#: lib/blame.tcl:921 +msgid "Copied Or Moved Here By:" +msgstr "Kopierad eller flyttad hit av:" + +#: lib/branch_checkout.tcl:14 lib/branch_checkout.tcl:19 +msgid "Checkout Branch" +msgstr "Checka ut gren" + +#: lib/branch_checkout.tcl:23 +msgid "Checkout" +msgstr "Checka ut" + +#: lib/branch_checkout.tcl:27 lib/branch_create.tcl:35 +#: lib/branch_delete.tcl:32 lib/branch_rename.tcl:30 lib/browser.tcl:281 +#: lib/checkout_op.tcl:522 lib/choose_font.tcl:43 lib/merge.tcl:172 +#: lib/option.tcl:90 lib/remote_branch_delete.tcl:42 lib/transport.tcl:97 +msgid "Cancel" +msgstr "Avbryt" + +#: lib/branch_checkout.tcl:32 lib/browser.tcl:286 +msgid "Revision" +msgstr "Revision" + +#: lib/branch_checkout.tcl:36 lib/branch_create.tcl:69 lib/option.tcl:202 +msgid "Options" +msgstr "Alternativ" + +#: lib/branch_checkout.tcl:39 lib/branch_create.tcl:92 +msgid "Fetch Tracking Branch" +msgstr "Hämta spÃ¥rande gren" + +#: lib/branch_checkout.tcl:44 +msgid "Detach From Local Branch" +msgstr "Koppla bort frÃ¥n lokal gren" + +#: lib/branch_create.tcl:22 +msgid "Create Branch" +msgstr "Skapa gren" + +#: lib/branch_create.tcl:27 +msgid "Create New Branch" +msgstr "Skapa ny gren" + +#: lib/branch_create.tcl:31 lib/choose_repository.tcl:375 +msgid "Create" +msgstr "Skapa" + +#: lib/branch_create.tcl:40 +msgid "Branch Name" +msgstr "Namn pÃ¥ gren" + +#: lib/branch_create.tcl:43 +msgid "Name:" +msgstr "Namn:" + +#: lib/branch_create.tcl:58 +msgid "Match Tracking Branch Name" +msgstr "Använd namn pÃ¥ spÃ¥rad gren" + +#: lib/branch_create.tcl:66 +msgid "Starting Revision" +msgstr "Inledande revision" + +#: lib/branch_create.tcl:72 +msgid "Update Existing Branch:" +msgstr "Uppdatera befintlig gren:" + +#: lib/branch_create.tcl:75 +msgid "No" +msgstr "Nej" + +#: lib/branch_create.tcl:80 +msgid "Fast Forward Only" +msgstr "Endast snabbspolning" + +#: lib/branch_create.tcl:85 lib/checkout_op.tcl:514 +msgid "Reset" +msgstr "Återställ" + +#: lib/branch_create.tcl:97 +msgid "Checkout After Creation" +msgstr "Checka ut när skapad" + +#: lib/branch_create.tcl:131 +msgid "Please select a tracking branch." +msgstr "Välj en gren att spÃ¥ra." + +#: lib/branch_create.tcl:140 +#, tcl-format +msgid "Tracking branch %s is not a branch in the remote repository." +msgstr "Den spÃ¥rade grenen %s är inte en gren i fjärrarkivet." + +#: lib/branch_create.tcl:153 lib/branch_rename.tcl:86 +msgid "Please supply a branch name." +msgstr "Ange ett namn för grenen." + +#: lib/branch_create.tcl:164 lib/branch_rename.tcl:106 +#, tcl-format +msgid "'%s' is not an acceptable branch name." +msgstr "\"%s\" kan inte användas som namn pÃ¥ grenen." + +#: lib/branch_delete.tcl:15 +msgid "Delete Branch" +msgstr "Ta bort gren" + +#: lib/branch_delete.tcl:20 +msgid "Delete Local Branch" +msgstr "Ta bort lokal gren" + +#: lib/branch_delete.tcl:37 +msgid "Local Branches" +msgstr "Lokala grenar" + +#: lib/branch_delete.tcl:52 +msgid "Delete Only If Merged Into" +msgstr "Ta bara bort om sammanslagen med" + +#: lib/branch_delete.tcl:54 +msgid "Always (Do not perform merge test.)" +msgstr "Alltid (utför inte sammanslagningstest)." + +#: lib/branch_delete.tcl:103 +#, tcl-format +msgid "The following branches are not completely merged into %s:" +msgstr "Följande grenar är inte till fullo sammanslagna med %s:" + +#: lib/branch_delete.tcl:115 +msgid "" +"Recovering deleted branches is difficult. \n" +"\n" +" Delete the selected branches?" +msgstr "" +"Det är svÃ¥rt att Ã¥terställa borttagna grenar.\n" +"\n" +" Ta bort valda grenar?" + +#: lib/branch_delete.tcl:141 +#, tcl-format +msgid "" +"Failed to delete branches:\n" +"%s" +msgstr "" +"Kunde inte ta bort grenar:\n" +"%s" + +#: lib/branch_rename.tcl:14 lib/branch_rename.tcl:22 +msgid "Rename Branch" +msgstr "Byt namn pÃ¥ gren" + +#: lib/branch_rename.tcl:26 +msgid "Rename" +msgstr "Byt namn" + +#: lib/branch_rename.tcl:36 +msgid "Branch:" +msgstr "Gren:" + +#: lib/branch_rename.tcl:39 +msgid "New Name:" +msgstr "Nytt namn:" + +#: lib/branch_rename.tcl:75 +msgid "Please select a branch to rename." +msgstr "Välj en gren att byta namn pÃ¥." + +#: lib/branch_rename.tcl:96 lib/checkout_op.tcl:179 +#, tcl-format +msgid "Branch '%s' already exists." +msgstr "Grenen \"%s\" finns redan." + +#: lib/branch_rename.tcl:117 +#, tcl-format +msgid "Failed to rename '%s'." +msgstr "Kunde inte byta namn pÃ¥ \"%s\"." + +#: lib/browser.tcl:17 +msgid "Starting..." +msgstr "Startar..." + +#: lib/browser.tcl:26 +msgid "File Browser" +msgstr "Filbläddrare" + +#: lib/browser.tcl:125 lib/browser.tcl:142 +#, tcl-format +msgid "Loading %s..." +msgstr "Läser %s..." + +#: lib/browser.tcl:186 +msgid "[Up To Parent]" +msgstr "[Upp till förälder]" + +#: lib/browser.tcl:266 lib/browser.tcl:272 +msgid "Browse Branch Files" +msgstr "Bläddra filer pÃ¥ grenen" + +#: lib/browser.tcl:277 lib/choose_repository.tcl:391 +#: lib/choose_repository.tcl:482 lib/choose_repository.tcl:492 +#: lib/choose_repository.tcl:989 +msgid "Browse" +msgstr "Bläddra" + +#: lib/checkout_op.tcl:79 +#, tcl-format +msgid "Fetching %s from %s" +msgstr "Hämtar %s frÃ¥n %s" + +#: lib/checkout_op.tcl:127 +#, tcl-format +msgid "fatal: Cannot resolve %s" +msgstr "ödesdigert: Kunde inte slÃ¥ upp %s" + +#: lib/checkout_op.tcl:140 lib/console.tcl:79 lib/database.tcl:31 +msgid "Close" +msgstr "Stäng" + +#: lib/checkout_op.tcl:169 +#, tcl-format +msgid "Branch '%s' does not exist." +msgstr "Grenen \"%s\" finns inte." + +#: lib/checkout_op.tcl:206 +#, tcl-format +msgid "" +"Branch '%s' already exists.\n" +"\n" +"It cannot fast-forward to %s.\n" +"A merge is required." +msgstr "" +"Grenen \"%s\" finns redan.\n" +"\n" +"Den kan inte snabbspolas till %s.\n" +"En sammanslagning krävs." + +#: lib/checkout_op.tcl:220 +#, tcl-format +msgid "Merge strategy '%s' not supported." +msgstr "Sammanslagningsstrategin \"%s\" stöds inte." + +#: lib/checkout_op.tcl:239 +#, tcl-format +msgid "Failed to update '%s'." +msgstr "Misslyckades med att uppdatera \"%s\"." + +#: lib/checkout_op.tcl:251 +msgid "Staging area (index) is already locked." +msgstr "KöomrÃ¥det (index) är redan lÃ¥st." + +#: lib/checkout_op.tcl:266 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before the current branch can be changed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Det senaste inlästa tillstÃ¥ndet motsvarar inte tillstÃ¥ndet i arkivet.\n" +"\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du " +"mÃ¥ste utföra en ny sökning innan den aktuella grenen kan ändras.\n" +"\n" +"Sökningen kommer att startas automatiskt nu.\n" + +#: lib/checkout_op.tcl:322 +#, tcl-format +msgid "Updating working directory to '%s'..." +msgstr "Uppdaterar arbetskatalogen till \"%s\"..." + +#: lib/checkout_op.tcl:353 +#, tcl-format +msgid "Aborted checkout of '%s' (file level merging is required)." +msgstr "Avbryter utcheckning av \"%s\" (sammanslagning pÃ¥ filnivÃ¥ krävs)." + +#: lib/checkout_op.tcl:354 +msgid "File level merge required." +msgstr "Sammanslagning pÃ¥ filnivÃ¥ krävs." + +#: lib/checkout_op.tcl:358 +#, tcl-format +msgid "Staying on branch '%s'." +msgstr "Stannar pÃ¥ grenen \"%s\"." + +#: lib/checkout_op.tcl:429 +msgid "" +"You are no longer on a local branch.\n" +"\n" +"If you wanted to be on a branch, create one now starting from 'This Detached " +"Checkout'." +msgstr "" +"Du är inte längre pÃ¥ en lokal gren.\n" +"\n" +"Om du ville vara pÃ¥ en gren skapar du en nu, baserad pÃ¥ \"Denna " +"frÃ¥nkopplade utcheckning\"." + +#: lib/checkout_op.tcl:446 +#, tcl-format +msgid "Checked out '%s'." +msgstr "Checkade ut \"%s\"." + +#: lib/checkout_op.tcl:478 +#, tcl-format +msgid "Resetting '%s' to '%s' will lose the following commits:" +msgstr "Om du Ã¥terställer \"%s\" till \"%s\" fÃ¥r följande incheckningar förlorade:" + +#: lib/checkout_op.tcl:500 +msgid "Recovering lost commits may not be easy." +msgstr "Det kanske inte är sÃ¥ enkelt att Ã¥terskapa förlorade incheckningar." + +#: lib/checkout_op.tcl:505 +#, tcl-format +msgid "Reset '%s'?" +msgstr "Återställa \"%s\"?" + +#: lib/checkout_op.tcl:510 lib/merge.tcl:164 +msgid "Visualize" +msgstr "Visualisera" + +#: lib/checkout_op.tcl:578 +#, tcl-format +msgid "" +"Failed to set current branch.\n" +"\n" +"This working directory is only partially switched. We successfully updated " +"your files, but failed to update an internal Git file.\n" +"\n" +"This should not have occurred. %s will now close and give up." +msgstr "" +"Kunde inte ställa in aktuell gren.\n" +"\n" +"Arbetskatalogen har bara växlats delvis. Vi uppdaterade filerna " +"utan problem, men kunde inte uppdatera en intern fil i Git.\n" +"\n" +"Detta skulle inte ha hänt. %s kommer nu stängas och ge upp." + +#: lib/choose_font.tcl:39 +msgid "Select" +msgstr "Välj" + +#: lib/choose_font.tcl:53 +msgid "Font Family" +msgstr "Teckensnittsfamilj" + +#: lib/choose_font.tcl:73 +msgid "Font Size" +msgstr "Storlek" + +#: lib/choose_font.tcl:90 +msgid "Font Example" +msgstr "Exempel" + +#: lib/choose_font.tcl:101 +msgid "" +"This is example text.\n" +"If you like this text, it can be your font." +msgstr "" +"Detta är en exempeltext.\n" +"Om du tycker om den här texten kan den vara ditt teckensnitt." + +#: lib/choose_repository.tcl:27 +msgid "Git Gui" +msgstr "Git Gui" + +#: lib/choose_repository.tcl:80 lib/choose_repository.tcl:380 +msgid "Create New Repository" +msgstr "Skapa nytt arkiv" + +#: lib/choose_repository.tcl:86 +msgid "New..." +msgstr "Nytt..." + +#: lib/choose_repository.tcl:93 lib/choose_repository.tcl:468 +msgid "Clone Existing Repository" +msgstr "Klona befintligt arkiv" + +#: lib/choose_repository.tcl:99 +msgid "Clone..." +msgstr "Klona..." + +#: lib/choose_repository.tcl:106 lib/choose_repository.tcl:978 +msgid "Open Existing Repository" +msgstr "Öppna befintligt arkiv" + +#: lib/choose_repository.tcl:112 +msgid "Open..." +msgstr "Öppna..." + +#: lib/choose_repository.tcl:125 +msgid "Recent Repositories" +msgstr "Senaste arkiven" + +#: lib/choose_repository.tcl:131 +msgid "Open Recent Repository:" +msgstr "Öppna tidigare arkiv:" + +#: lib/choose_repository.tcl:294 +#, tcl-format +msgid "Location %s already exists." +msgstr "Platsen %s finns redan." + +#: lib/choose_repository.tcl:300 lib/choose_repository.tcl:307 +#: lib/choose_repository.tcl:314 +#, tcl-format +msgid "Failed to create repository %s:" +msgstr "Kunde inte skapa arkivet %s:" + +#: lib/choose_repository.tcl:385 lib/choose_repository.tcl:486 +msgid "Directory:" +msgstr "Katalog:" + +#: lib/choose_repository.tcl:415 lib/choose_repository.tcl:544 +#: lib/choose_repository.tcl:1013 +msgid "Git Repository" +msgstr "Gitarkiv" + +#: lib/choose_repository.tcl:430 lib/choose_repository.tcl:437 +#, tcl-format +msgid "Directory %s already exists." +msgstr "Katalogen %s finns redan." + +#: lib/choose_repository.tcl:442 +#, tcl-format +msgid "File %s already exists." +msgstr "Filen %s finns redan." + +#: lib/choose_repository.tcl:463 +msgid "Clone" +msgstr "Klona" + +#: lib/choose_repository.tcl:476 +msgid "URL:" +msgstr "Webbadress:" + +#: lib/choose_repository.tcl:496 +msgid "Clone Type:" +msgstr "Typ av klon:" + +#: lib/choose_repository.tcl:502 +msgid "Standard (Fast, Semi-Redundant, Hardlinks)" +msgstr "Standard (snabb, semiredundant, hÃ¥rda länkar)" + +#: lib/choose_repository.tcl:508 +msgid "Full Copy (Slower, Redundant Backup)" +msgstr "Full kopia (lÃ¥ngsammare, redundant säkerhetskopia)" + +#: lib/choose_repository.tcl:514 +msgid "Shared (Fastest, Not Recommended, No Backup)" +msgstr "Delad (snabbast, rekommenderas ej, ingen säkerhetskopia)" + +#: lib/choose_repository.tcl:550 lib/choose_repository.tcl:597 +#: lib/choose_repository.tcl:738 lib/choose_repository.tcl:808 +#: lib/choose_repository.tcl:1019 lib/choose_repository.tcl:1027 +#, tcl-format +msgid "Not a Git repository: %s" +msgstr "Inte ett Gitarkiv: %s" + +#: lib/choose_repository.tcl:586 +msgid "Standard only available for local repository." +msgstr "Standard är endast tillgängligt för lokala arkiv." + +#: lib/choose_repository.tcl:590 +msgid "Shared only available for local repository." +msgstr "Delat är endast tillgängligt för lokala arkiv." + +#: lib/choose_repository.tcl:617 +msgid "Failed to configure origin" +msgstr "Kunde inte konfigurera ursprung" + +#: lib/choose_repository.tcl:629 +msgid "Counting objects" +msgstr "Räknar objekt" + +#: lib/choose_repository.tcl:630 +msgid "buckets" +msgstr "hinkar" + +#: lib/choose_repository.tcl:654 +#, tcl-format +msgid "Unable to copy objects/info/alternates: %s" +msgstr "Kunde inte kopiera objekt/info/alternativ: %s" + +#: lib/choose_repository.tcl:690 +#, tcl-format +msgid "Nothing to clone from %s." +msgstr "Ingenting att klona frÃ¥n %s." + +#: lib/choose_repository.tcl:692 lib/choose_repository.tcl:906 +#: lib/choose_repository.tcl:918 +msgid "The 'master' branch has not been initialized." +msgstr "Grenen \"master\" har inte initierats." + +#: lib/choose_repository.tcl:705 +msgid "Hardlinks are unavailable. Falling back to copying." +msgstr "HÃ¥rda länkar är inte tillgängliga. Faller tillbaka pÃ¥ kopiering." + +#: lib/choose_repository.tcl:717 +#, tcl-format +msgid "Cloning from %s" +msgstr "Klonar frÃ¥n %s" + +#: lib/choose_repository.tcl:748 +msgid "Copying objects" +msgstr "Kopierar objekt" + +#: lib/choose_repository.tcl:749 +msgid "KiB" +msgstr "KiB" + +#: lib/choose_repository.tcl:773 +#, tcl-format +msgid "Unable to copy object: %s" +msgstr "Kunde inte kopiera objekt: %s" + +#: lib/choose_repository.tcl:783 +msgid "Linking objects" +msgstr "Länkar objekt" + +#: lib/choose_repository.tcl:784 +msgid "objects" +msgstr "objekt" + +#: lib/choose_repository.tcl:792 +#, tcl-format +msgid "Unable to hardlink object: %s" +msgstr "Kunde inte hÃ¥rdlänka objekt: %s" + +#: lib/choose_repository.tcl:847 +msgid "Cannot fetch branches and objects. See console output for details." +msgstr "Kunde inte hämta grenar och objekt. Se konsolutdata för detaljer." + +#: lib/choose_repository.tcl:858 +msgid "Cannot fetch tags. See console output for details." +msgstr "Kunde inte hämta taggar. Se konsolutdata för detaljer." + +#: lib/choose_repository.tcl:882 +msgid "Cannot determine HEAD. See console output for details." +msgstr "Kunde inte avgöra HEAD. Se konsolutdata för detaljer." + +#: lib/choose_repository.tcl:891 +#, tcl-format +msgid "Unable to cleanup %s" +msgstr "Kunde inte städa upp %s" + +#: lib/choose_repository.tcl:897 +msgid "Clone failed." +msgstr "Kloning misslyckades." + +#: lib/choose_repository.tcl:904 +msgid "No default branch obtained." +msgstr "Hämtade ingen standardgren." + +#: lib/choose_repository.tcl:915 +#, tcl-format +msgid "Cannot resolve %s as a commit." +msgstr "Kunde inte slÃ¥ upp %s till nÃ¥gon incheckning." + +#: lib/choose_repository.tcl:927 +msgid "Creating working directory" +msgstr "Skapar arbetskatalog" + +#: lib/choose_repository.tcl:928 lib/index.tcl:65 lib/index.tcl:127 +#: lib/index.tcl:193 +msgid "files" +msgstr "filer" + +#: lib/choose_repository.tcl:957 +msgid "Initial file checkout failed." +msgstr "Inledande filutcheckning misslyckades." + +#: lib/choose_repository.tcl:973 +msgid "Open" +msgstr "Öppna" + +#: lib/choose_repository.tcl:983 +msgid "Repository:" +msgstr "Arkiv:" + +#: lib/choose_repository.tcl:1033 +#, tcl-format +msgid "Failed to open repository %s:" +msgstr "Kunde inte öppna arkivet %s:" + +#: lib/choose_rev.tcl:53 +msgid "This Detached Checkout" +msgstr "Denna frÃ¥nkopplade utcheckning" + +#: lib/choose_rev.tcl:60 +msgid "Revision Expression:" +msgstr "Revisionsuttryck:" + +#: lib/choose_rev.tcl:74 +msgid "Local Branch" +msgstr "Lokal gren" + +#: lib/choose_rev.tcl:79 +msgid "Tracking Branch" +msgstr "SpÃ¥rande gren" + +#: lib/choose_rev.tcl:84 lib/choose_rev.tcl:537 +msgid "Tag" +msgstr "Tagg" + +#: lib/choose_rev.tcl:317 +#, tcl-format +msgid "Invalid revision: %s" +msgstr "Ogiltig revision: %s" + +#: lib/choose_rev.tcl:338 +msgid "No revision selected." +msgstr "Ingen revision vald." + +#: lib/choose_rev.tcl:346 +msgid "Revision expression is empty." +msgstr "Revisionsuttrycket är tomt." + +#: lib/choose_rev.tcl:530 +msgid "Updated" +msgstr "Uppdaterad" + +#: lib/choose_rev.tcl:558 +msgid "URL" +msgstr "Webbadress" + +#: lib/commit.tcl:9 +msgid "" +"There is nothing to amend.\n" +"\n" +"You are about to create the initial commit. There is no commit before this " +"to amend.\n" +msgstr "" +"Det finns ingenting att utöka.\n" +"\n" +"Du hÃ¥ller pÃ¥ att skapa den inledande incheckningen. Det finns ingen tidigare " +"incheckning att utöka.\n" + +#: lib/commit.tcl:18 +msgid "" +"Cannot amend while merging.\n" +"\n" +"You are currently in the middle of a merge that has not been fully " +"completed. You cannot amend the prior commit unless you first abort the " +"current merge activity.\n" +msgstr "" +"Kan inte utöka vid sammanslagning.\n" +"\n" +"Du är i mitten av en sammanslagning som inte är fullbordad. Du kan " +"inte utöka tidigare incheckningar om du inte först avbryter den " +"pÃ¥gÃ¥ende sammanslagningen.\n" + +#: lib/commit.tcl:49 +msgid "Error loading commit data for amend:" +msgstr "Fel vid inläsning av incheckningsdata för utökning:" + +#: lib/commit.tcl:76 +msgid "Unable to obtain your identity:" +msgstr "Kunde inte hämta din identitet:" + +#: lib/commit.tcl:81 +msgid "Invalid GIT_COMMITTER_IDENT:" +msgstr "Felaktig GIT_COMMITTER_IDENT:" + +#: lib/commit.tcl:133 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before another commit can be created.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Det senaste inlästa tillstÃ¥ndet motsvarar inte tillstÃ¥ndet i arkivet.\n" +"\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du " +"mÃ¥ste utföra en ny sökning innan du kan göra en ny incheckning.\n" +"\n" +"Sökningen kommer att startas automatiskt nu.\n" + +#: lib/commit.tcl:154 +#, tcl-format +msgid "" +"Unmerged files cannot be committed.\n" +"\n" +"File %s has merge conflicts. You must resolve them and stage the file " +"before committing.\n" +msgstr "" +"Osammanslagna filer kan inte checkas in.\n" +"\n" +"Filen %s har sammanslagningskonflikter. Du mÃ¥ste lösa dem och köa filen " +"innan du checkar in den.\n" + +#: lib/commit.tcl:162 +#, tcl-format +msgid "" +"Unknown file state %s detected.\n" +"\n" +"File %s cannot be committed by this program.\n" +msgstr "" +"Okänd filstatus %s upptäckt.\n" +"\n" +"Filen %s kan inte checkas in av programmet.\n" + +#: lib/commit.tcl:170 +msgid "" +"No changes to commit.\n" +"\n" +"You must stage at least 1 file before you can commit.\n" +msgstr "" +"Inga ändringar att checka in.\n" +"\n" +"Du mÃ¥ste köa Ã¥tminstone en fil innan du kan checka in.\n" + +#: lib/commit.tcl:183 +msgid "" +"Please supply a commit message.\n" +"\n" +"A good commit message has the following format:\n" +"\n" +"- First line: Describe in one sentence what you did.\n" +"- Second line: Blank\n" +"- Remaining lines: Describe why this change is good.\n" +msgstr "" +"Ange ett incheckningsmeddelande.\n" +"\n" +"Ett bra incheckningsmeddelande har följande format:\n" +"\n" +"- Första raden: Beskriv i en mening vad du gjorde.\n" +"- Andra raden: Tom\n" +"- Följande rader: Beskriv varför det här är en bra ändring.\n" + +#: lib/commit.tcl:257 +msgid "write-tree failed:" +msgstr "write-tree misslyckades:" + +#: lib/commit.tcl:275 +#, tcl-format +msgid "Commit %s appears to be corrupt" +msgstr "Incheckningen %s verkar vara trasig" + +#: lib/commit.tcl:279 +msgid "" +"No changes to commit.\n" +"\n" +"No files were modified by this commit and it was not a merge commit.\n" +"\n" +"A rescan will be automatically started now.\n" +msgstr "" +"Inga ändringar att checka in.\n" +"\n" +"Inga filer ändrades av incheckningen och det var inte en sammanslagning.\n" +"\n" +"En sökning kommer att startas automatiskt nu.\n" + +#: lib/commit.tcl:286 +msgid "No changes to commit." +msgstr "Inga ändringar att checka in." + +#: lib/commit.tcl:303 +#, tcl-format +msgid "warning: Tcl does not support encoding '%s'." +msgstr "varning: Tcl stöder inte teckenkodningen \"%s\"." + +#: lib/commit.tcl:317 +msgid "commit-tree failed:" +msgstr "commit-tree misslyckades:" + +#: lib/commit.tcl:339 +msgid "update-ref failed:" +msgstr "update-ref misslyckades:" + +#: lib/commit.tcl:430 +#, tcl-format +msgid "Created commit %s: %s" +msgstr "Skapade incheckningen %s: %s" + +#: lib/console.tcl:57 +msgid "Working... please wait..." +msgstr "Arbetar... vänta..." + +#: lib/console.tcl:183 +msgid "Success" +msgstr "Lyckades" + +#: lib/console.tcl:196 +msgid "Error: Command Failed" +msgstr "Fel: Kommando misslyckades" + +#: lib/database.tcl:43 +msgid "Number of loose objects" +msgstr "Antal lösa objekt" + +#: lib/database.tcl:44 +msgid "Disk space used by loose objects" +msgstr "Diskutrymme använt av lösa objekt" + +#: lib/database.tcl:45 +msgid "Number of packed objects" +msgstr "Antal packade objekt" + +#: lib/database.tcl:46 +msgid "Number of packs" +msgstr "Antal paket" + +#: lib/database.tcl:47 +msgid "Disk space used by packed objects" +msgstr "Diskutrymme använt av packade objekt" + +#: lib/database.tcl:48 +msgid "Packed objects waiting for pruning" +msgstr "Packade objekt som väntar pÃ¥ städning" + +#: lib/database.tcl:49 +msgid "Garbage files" +msgstr "Skräpfiler" + +#: lib/database.tcl:72 +msgid "Compressing the object database" +msgstr "Komprimerar objektdatabasen" + +#: lib/database.tcl:83 +msgid "Verifying the object database with fsck-objects" +msgstr "Verifierar objektdatabasen med fsck-objects" + +#: lib/database.tcl:108 +#, tcl-format +msgid "" +"This repository currently has approximately %i loose objects.\n" +"\n" +"To maintain optimal performance it is strongly recommended that you compress " +"the database when more than %i loose objects exist.\n" +"\n" +"Compress the database now?" +msgstr "" +"Arkivet har för närvarande omkring %i lösa objekt.\n" +"\n" +"För att bibehÃ¥lla optimal prestanda rekommenderas det Ã¥ det bestämdaste att " +"du komprimerar databasen när den innehÃ¥ller mer än %i lösa objekt.\n" +"\n" +"Komprimera databasen nu?" + +#: lib/date.tcl:25 +#, tcl-format +msgid "Invalid date from Git: %s" +msgstr "Ogiltigt datum frÃ¥n Git: %s" + +#: lib/diff.tcl:42 +#, tcl-format +msgid "" +"No differences detected.\n" +"\n" +"%s has no changes.\n" +"\n" +"The modification date of this file was updated by another application, but " +"the content within the file was not changed.\n" +"\n" +"A rescan will be automatically started to find other files which may have " +"the same state." +msgstr "" +"Hittade inga skillnader.\n" +"\n" +"%s innehÃ¥ller inga ändringar.\n" +"\n" +"Modifieringsdatum för filen uppdaterades av ett annat program, men innehÃ¥llet " +"i filen har inte ändrats.\n" +"\n" +"En sökning kommer automatiskt att startas för att hitta andra filer som kan " +"vara i samma tillstÃ¥nd." + +#: lib/diff.tcl:81 +#, tcl-format +msgid "Loading diff of %s..." +msgstr "Läser differens för %s..." + +#: lib/diff.tcl:114 lib/diff.tcl:184 +#, tcl-format +msgid "Unable to display %s" +msgstr "Kan inte visa %s" + +#: lib/diff.tcl:115 +msgid "Error loading file:" +msgstr "Fel vid läsning av fil:" + +#: lib/diff.tcl:122 +msgid "Git Repository (subproject)" +msgstr "Gitarkiv (underprojekt)" + +#: lib/diff.tcl:134 +msgid "* Binary file (not showing content)." +msgstr "* Binärfil (visar inte innehÃ¥llet)." + +#: lib/diff.tcl:185 +msgid "Error loading diff:" +msgstr "Fel vid inläsning av differens:" + +#: lib/diff.tcl:302 +msgid "Failed to unstage selected hunk." +msgstr "Kunde inte ta bort den valda delen frÃ¥n kön." + +#: lib/diff.tcl:309 +msgid "Failed to stage selected hunk." +msgstr "Kunde inte lägga till den valda delen till kön." + +#: lib/error.tcl:12 lib/error.tcl:102 +msgid "error" +msgstr "fel" + +#: lib/error.tcl:28 +msgid "warning" +msgstr "varning" + +#: lib/error.tcl:81 +msgid "You must correct the above errors before committing." +msgstr "Du mÃ¥ste rätta till felen ovan innan du checkar in." + +#: lib/index.tcl:6 +msgid "Unable to unlock the index." +msgstr "Kunde inte lÃ¥sa upp indexet." + +#: lib/index.tcl:15 +msgid "Index Error" +msgstr "Indexfel" + +#: lib/index.tcl:21 +msgid "" +"Updating the Git index failed. A rescan will be automatically started to " +"resynchronize git-gui." +msgstr "" +"Misslyckades med att uppdatera Gitindexet. En omsökning kommer att startas " +"automatiskt för att synkronisera om git-gui." + +#: lib/index.tcl:27 +msgid "Continue" +msgstr "Forstätt" + +#: lib/index.tcl:31 +msgid "Unlock Index" +msgstr "LÃ¥s upp index" + +#: lib/index.tcl:282 +#, tcl-format +msgid "Unstaging %s from commit" +msgstr "Tar bort %s för incheckningskön" + +#: lib/index.tcl:326 +#, tcl-format +msgid "Adding %s" +msgstr "Lägger till %s" + +#: lib/index.tcl:381 +#, tcl-format +msgid "Revert changes in file %s?" +msgstr "Återställ ändringarna i filen %s?" + +#: lib/index.tcl:383 +#, tcl-format +msgid "Revert changes in these %i files?" +msgstr "Återställ ändringarna i dessa %i filer?" + +#: lib/index.tcl:389 +msgid "Any unstaged changes will be permanently lost by the revert." +msgstr "Alla oköade ändringar kommer permanent gÃ¥ förlorade vid Ã¥terställningen." + +#: lib/index.tcl:392 +msgid "Do Nothing" +msgstr "Gör ingenting" + +#: lib/merge.tcl:13 +msgid "" +"Cannot merge while amending.\n" +"\n" +"You must finish amending this commit before starting any type of merge.\n" +msgstr "" +"Kan inte slÃ¥ ihop vid utökning.\n" +"\n" +"Du mÃ¥ste föra färdig utökningen av incheckningen innan du pÃ¥börjar nÃ¥gon " +"slags sammanslagning.\n" + +#: lib/merge.tcl:27 +msgid "" +"Last scanned state does not match repository state.\n" +"\n" +"Another Git program has modified this repository since the last scan. A " +"rescan must be performed before a merge can be performed.\n" +"\n" +"The rescan will be automatically started now.\n" +msgstr "" +"Det senaste inlästa tillstÃ¥ndet motsvarar inte tillstÃ¥ndet i arkivet.\n" +"\n" +"Ett annat Git-program har ändrat arkivet sedan senaste avsökningen. Du " +"mÃ¥ste utföra en ny sökning innan du kan utföra en sammanslagning.\n" +"\n" +"Sökningen kommer att startas automatiskt nu.\n" + +#: lib/merge.tcl:44 +#, tcl-format +msgid "" +"You are in the middle of a conflicted merge.\n" +"\n" +"File %s has merge conflicts.\n" +"\n" +"You must resolve them, stage the file, and commit to complete the current " +"merge. Only then can you begin another merge.\n" +msgstr "" +"Du är mitt i en sammanslagning med konflikter.\n" +"\n" +"Filen %s har sammanslagningskonflikter.\n" +"\n" +"Du mÃ¥ste lösa dem, köa filen och checka in för att fullborda den aktuella " +"sammanslagningen. När du gjort det kan du pÃ¥börja en ny sammanslagning.\n" + +#: lib/merge.tcl:54 +#, tcl-format +msgid "" +"You are in the middle of a change.\n" +"\n" +"File %s is modified.\n" +"\n" +"You should complete the current commit before starting a merge. Doing so " +"will help you abort a failed merge, should the need arise.\n" +msgstr "" +"Du är mitt i en ändring.\n" +"\n" +"Filen %s har ändringar.\n" +"\n" +"Du bör fullborda den aktuella incheckningen innan du pÃ¥börjar en " +"sammanslagning. Om du gör det blir det enklare att avbryta en misslyckad " +"sammanslagning, om det skulle vara nödvändigt.\n" + +#: lib/merge.tcl:106 +#, tcl-format +msgid "%s of %s" +msgstr "%s av %s" + +#: lib/merge.tcl:119 +#, tcl-format +msgid "Merging %s and %s" +msgstr "SlÃ¥r ihop %s och %s" + +#: lib/merge.tcl:131 +msgid "Merge completed successfully." +msgstr "Sammanslagningen avslutades framgÃ¥ngsrikt." + +#: lib/merge.tcl:133 +msgid "Merge failed. Conflict resolution is required." +msgstr "Sammanslagningen misslyckades. Du mÃ¥ste lösa konflikterna." + +#: lib/merge.tcl:158 +#, tcl-format +msgid "Merge Into %s" +msgstr "SlÃ¥ ihop i %s" + +#: lib/merge.tcl:177 +msgid "Revision To Merge" +msgstr "Revisioner att slÃ¥ ihop" + +#: lib/merge.tcl:212 +msgid "" +"Cannot abort while amending.\n" +"\n" +"You must finish amending this commit.\n" +msgstr "" +"Kan inte avbryta vid utökning.\n" +"\n" +"Du mÃ¥ste göra dig färdig med att utöka incheckningen.\n" + +#: lib/merge.tcl:222 +msgid "" +"Abort merge?\n" +"\n" +"Aborting the current merge will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with aborting the current merge?" +msgstr "" +"Avbryt sammanslagning?\n" +"\n" +"Om du avbryter sammanslagningen kommer *ALLA* ej incheckade ändringar att " +"gÃ¥ förlorade.\n" +"\n" +"GÃ¥ vidare med att avbryta den aktuella sammanslagningen?" + +#: lib/merge.tcl:228 +msgid "" +"Reset changes?\n" +"\n" +"Resetting the changes will cause *ALL* uncommitted changes to be lost.\n" +"\n" +"Continue with resetting the current changes?" +msgstr "" +"Återställ ändringar?\n" +"\n" +"Om du Ã¥terställer ändringarna kommer *ALLA* ej incheckade ändringar att " +"gÃ¥ förlorade.\n" +"\n" +"GÃ¥ vidare med att Ã¥terställa de aktuella ändringarna?" + +#: lib/merge.tcl:239 +msgid "Aborting" +msgstr "Avbryter" + +#: lib/merge.tcl:266 +msgid "Abort failed." +msgstr "Misslyckades avbryta." + +#: lib/merge.tcl:268 +msgid "Abort completed. Ready." +msgstr "Avbrytning fullbordad. Redo." + +#: lib/option.tcl:82 +msgid "Restore Defaults" +msgstr "Återställ standardvärden" + +#: lib/option.tcl:86 +msgid "Save" +msgstr "Spara" + +#: lib/option.tcl:96 +#, tcl-format +msgid "%s Repository" +msgstr "Arkivet %s" + +#: lib/option.tcl:97 +msgid "Global (All Repositories)" +msgstr "Globalt (alla arkiv)" + +#: lib/option.tcl:103 +msgid "User Name" +msgstr "Användarnamn" + +#: lib/option.tcl:104 +msgid "Email Address" +msgstr "E-postadress" + +#: lib/option.tcl:106 +msgid "Summarize Merge Commits" +msgstr "Summera sammanslagningsincheckningar" + +#: lib/option.tcl:107 +msgid "Merge Verbosity" +msgstr "Pratsamhet för sammanslagningar" + +#: lib/option.tcl:108 +msgid "Show Diffstat After Merge" +msgstr "Visa diffstatistik efter sammanslagning" + +#: lib/option.tcl:110 +msgid "Trust File Modification Timestamps" +msgstr "Lita pÃ¥ filändringstidsstämplar" + +#: lib/option.tcl:111 +msgid "Prune Tracking Branches During Fetch" +msgstr "Städa spÃ¥rade grenar vid hämtning" + +#: lib/option.tcl:112 +msgid "Match Tracking Branches" +msgstr "Matcha spÃ¥rade grenar" + +#: lib/option.tcl:113 +msgid "Number of Diff Context Lines" +msgstr "Antal rader sammanhang i differenser" + +#: lib/option.tcl:114 +msgid "New Branch Name Template" +msgstr "Mall för namn pÃ¥ nya grenar" + +#: lib/option.tcl:176 +msgid "Change Font" +msgstr "Byt teckensnitt" + +#: lib/option.tcl:180 +#, tcl-format +msgid "Choose %s" +msgstr "Välj %s" + +#: lib/option.tcl:186 +msgid "pt." +msgstr "p." + +#: lib/option.tcl:200 +msgid "Preferences" +msgstr "Inställningar" + +#: lib/option.tcl:235 +msgid "Failed to completely save options:" +msgstr "Misslyckades med att helt spara alternativ:" + +#: lib/remote_branch_delete.tcl:29 lib/remote_branch_delete.tcl:34 +msgid "Delete Remote Branch" +msgstr "Ta bort fjärrgren" + +#: lib/remote_branch_delete.tcl:47 +msgid "From Repository" +msgstr "FrÃ¥n arkiv" + +#: lib/remote_branch_delete.tcl:50 lib/transport.tcl:123 +msgid "Remote:" +msgstr "Fjärr:" + +#: lib/remote_branch_delete.tcl:66 lib/transport.tcl:138 +msgid "Arbitrary URL:" +msgstr "Godtycklig webbadress:" + +#: lib/remote_branch_delete.tcl:84 +msgid "Branches" +msgstr "Grenar" + +#: lib/remote_branch_delete.tcl:109 +msgid "Delete Only If" +msgstr "Ta endast bort om" + +#: lib/remote_branch_delete.tcl:111 +msgid "Merged Into:" +msgstr "Sammanslagen i:" + +#: lib/remote_branch_delete.tcl:119 +msgid "Always (Do not perform merge checks)" +msgstr "Alltid (utför inte sammanslagningstest)" + +#: lib/remote_branch_delete.tcl:152 +msgid "A branch is required for 'Merged Into'." +msgstr "En gren krävs för \"Sammanslagen i\"." + +#: lib/remote_branch_delete.tcl:184 +#, tcl-format +msgid "" +"The following branches are not completely merged into %s:\n" +"\n" +" - %s" +msgstr "" +"Följande grenar har inte helt slagits samman i %s:\n" +"\n" +" - %s" + +#: lib/remote_branch_delete.tcl:189 +#, tcl-format +msgid "" +"One or more of the merge tests failed because you have not fetched the " +"necessary commits. Try fetching from %s first." +msgstr "" +"En eller flera av sammanslagningstesterna misslyckades eftersom du inte " +"har hämtat de nödvändiga incheckningarna. Försök hämta frÃ¥n %s först." + +#: lib/remote_branch_delete.tcl:207 +msgid "Please select one or more branches to delete." +msgstr "Välj en eller flera grenar att ta bort." + +#: lib/remote_branch_delete.tcl:216 +msgid "" +"Recovering deleted branches is difficult.\n" +"\n" +"Delete the selected branches?" +msgstr "" +"Det kan vara svÃ¥rt att Ã¥terställa grenar.\n" +"\n" +"Ta bort de valda grenarna?" + +#: lib/remote_branch_delete.tcl:226 +#, tcl-format +msgid "Deleting branches from %s" +msgstr "Tar bort grenar frÃ¥n %s" + +#: lib/remote_branch_delete.tcl:286 +msgid "No repository selected." +msgstr "Inget arkiv markerat." + +#: lib/remote_branch_delete.tcl:291 +#, tcl-format +msgid "Scanning %s..." +msgstr "Söker %s..." + +#: lib/remote.tcl:165 +msgid "Prune from" +msgstr "Ta bort frÃ¥n" + +#: lib/remote.tcl:170 +msgid "Fetch from" +msgstr "Hämta frÃ¥n" + +#: lib/remote.tcl:213 +msgid "Push to" +msgstr "Sänd till" + +#: lib/shortcut.tcl:20 lib/shortcut.tcl:61 +msgid "Cannot write shortcut:" +msgstr "Kan inte skriva genväg:" + +#: lib/shortcut.tcl:136 +msgid "Cannot write icon:" +msgstr "Kan inte skriva ikon:" + +#: lib/status_bar.tcl:83 +#, tcl-format +msgid "%s ... %*i of %*i %s (%3i%%)" +msgstr "%s... %*i av %*i %s (%3i%%)" + +#: lib/transport.tcl:6 +#, tcl-format +msgid "fetch %s" +msgstr "hämta %s" + +#: lib/transport.tcl:7 +#, tcl-format +msgid "Fetching new changes from %s" +msgstr "Hämtar nya ändringar frÃ¥n %s" + +#: lib/transport.tcl:18 +#, tcl-format +msgid "remote prune %s" +msgstr "fjärrborttagning %s" + +#: lib/transport.tcl:19 +#, tcl-format +msgid "Pruning tracking branches deleted from %s" +msgstr "Tar bort spÃ¥rande grenar som tagits bort frÃ¥n %s" + +#: lib/transport.tcl:25 lib/transport.tcl:71 +#, tcl-format +msgid "push %s" +msgstr "sänd %s" + +#: lib/transport.tcl:26 +#, tcl-format +msgid "Pushing changes to %s" +msgstr "Sänder ändringar till %s" + +#: lib/transport.tcl:72 +#, tcl-format +msgid "Pushing %s %s to %s" +msgstr "Sänder %s %s till %s" + +#: lib/transport.tcl:89 +msgid "Push Branches" +msgstr "Sänder grenar" + +#: lib/transport.tcl:103 +msgid "Source Branches" +msgstr "Källgrenar" + +#: lib/transport.tcl:120 +msgid "Destination Repository" +msgstr "Destinationsarkiv" + +#: lib/transport.tcl:158 +msgid "Transfer Options" +msgstr "Överföringsalternativ" + +#: lib/transport.tcl:160 +msgid "Force overwrite existing branch (may discard changes)" +msgstr "Tvinga överskrivning av befintlig gren (kan kasta bort ändringar)" + +#: lib/transport.tcl:164 +msgid "Use thin pack (for slow network connections)" +msgstr "Använd tunt paket (för lÃ¥ngsamma nätverksanslutningar)" + +#: lib/transport.tcl:168 +msgid "Include tags" +msgstr "Ta med taggar" +