diff -Nru diffuse-0.4.1/ChangeLog diffuse-0.4.3~lffl~lucid~ppa/ChangeLog --- diffuse-0.4.1/ChangeLog 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/ChangeLog 2010-04-15 12:53:19.000000000 +0100 @@ -1,3 +1,16 @@ +Diffuse 0.4.3 - 2010-04-15 +- fixed a bug that prevent the "-m" option from opening a 3-way merge for Subversion and Bazaar conflicts + +Diffuse 0.4.2 - 2010-04-13 +- support for detached Git repositories +- better removal of unnecessary spacer lines +- added support for horizontal mouse scrolling +- renamed some resources to more user friendly names +- RCS support +- added Henri Menke's Spanish translation +- "#!" interpreter lines are now used to select proper highlighting rules +- syntax highlighting is now indicated by radio menu items + Diffuse 0.4.1 - 2009-10-12 - added Japanese translation - added Liu Hao's simplified Chinese translation diff -Nru diffuse-0.4.1/debian/changelog diffuse-0.4.3~lffl~lucid~ppa/debian/changelog --- diffuse-0.4.1/debian/changelog 2010-06-02 20:36:38.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/debian/changelog 2010-06-02 20:23:26.000000000 +0100 @@ -1,104 +1,5 @@ -diffuse (0.4.1-1) unstable; urgency=low +diffuse (0.4.3~lffl~lucid~ppa) lucid; urgency=low - * New upstream release - * Modified debian/rules to compile all available translations - * Updated README.Debian + * Initial Release. - -- Philipp Huebner Thu, 15 Oct 2009 19:47:25 +0200 - -diffuse (0.4.0-1) unstable; urgency=low - - * New upstream release - * Removed patch-system and patches since they're included upstream now - * Updated Standards-Version: 3.8.3 (no changes needed) - - -- Philipp Huebner Tue, 18 Aug 2009 14:46:36 +0200 - -diffuse (0.3.4-1) unstable; urgency=low - - * New upstream release - * Removed typofix.dpatch as it is now fixed upstream - * Removed maintainer scripts (not needed anymore) - * Removed Suggests on scrollkeeper (not needed anymore) - * Added minor bugfix from upstream - * Added gettext to Build-Depends-Indep - * Added compilation of diffuse.po to debian/rules - * Updated maintainer's mail address - * Updated Standards-Version: 3.8.2 (no changes needed) - - -- Philipp Huebner Tue, 07 Jul 2009 15:11:56 +0200 - -diffuse (0.3.3-2) unstable; urgency=low - - * Using dpatch patch system again - * Fixing a typo in Diffuse that causes the '-m' command line option to fail - on CVS repos when using relative paths - - -- Philipp Huebner Thu, 16 Apr 2009 19:18:40 +0200 - -diffuse (0.3.3-1) unstable; urgency=low - - * New upstream release (no new features, just bug fixing) - - -- Philipp Huebner Tue, 14 Apr 2009 09:29:49 +0200 - -diffuse (0.3.2-1) unstable; urgency=low - - * New upstream release - * Updated Standards-Version: 3.8.1 (no changes needed) - * Removed installation of TODO in debian/rules (file doesn't exist) - - -- Philipp Huebner Mon, 13 Apr 2009 21:25:09 +0200 - -diffuse (0.3.1-1) unstable; urgency=low - - * New upstream release - * Removed patch-system and patches since they're included upstream now - * Removed manpage in debian/ - * Added README.Debian for upgrade from older version to 0.3 - * Adjusted years in debian/copyright - - -- Philipp Huebner Fri, 06 Mar 2009 21:04:30 +0100 - -diffuse (0.2.15-2) unstable; urgency=low - - * Fixed bug in localization (closes: #511189) - Thanks Jean-Francois Moine and Derrick Moser - * Added dpatch patch system in debian/control and debian/rules - * Fixed spelling error of Subversion in debian/control - - -- Philipp Huebner Sun, 11 Jan 2009 21:47:27 +0100 - -diffuse (0.2.15-1) unstable; urgency=low - - * New upstream release - * Added maintainer scripts and suggests for scrollkeeper and - desktop-file-utils - * cleaned up debian/rules - * corrected debian/copyright - - -- Philipp Huebner Thu, 11 Dec 2008 17:13:32 +0100 - -diffuse (0.2.14-1) unstable; urgency=low - - * New upstream release - * Removed patch-system and patches since they're included upstream now - - -- Philipp Huebner Wed, 22 Oct 2008 21:36:12 +0200 - -diffuse (0.2.13-2) unstable; urgency=low - - * Added watch file - * Corrected e-mail address in doc.dpatch - * Corrected some times in /debian docs - * Corrected debian/copyright to point towards GPLv2 - * Moved some Build-Depends into Build-Depends-indep - * Removed encoding key in diffuse.desktop - - -- Philipp Huebner Mon, 28 Jul 2008 09:13:13 +0200 - -diffuse (0.2.13-1) unstable; urgency=low - - * Initial release (Closes: #478232) - - -- Philipp Huebner Sat, 07 Jun 2008 19:54:13 +0200 + -- Ferramosca Roberto Wed, 02 Jun 2010 20:30:22 +0200 diff -Nru diffuse-0.4.1/debian/compat diffuse-0.4.3~lffl~lucid~ppa/debian/compat --- diffuse-0.4.1/debian/compat 2010-06-02 20:36:38.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/debian/compat 2010-04-13 17:10:20.000000000 +0100 @@ -1 +1 @@ -6 +7 diff -Nru diffuse-0.4.1/debian/control diffuse-0.4.3~lffl~lucid~ppa/debian/control --- diffuse-0.4.1/debian/control 2010-06-02 20:36:38.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/debian/control 2010-06-02 20:23:37.000000000 +0100 @@ -1,19 +1,20 @@ Source: diffuse Section: editors Priority: optional -Maintainer: Philipp Huebner -Build-Depends: debhelper (>= 6) +Maintainer: Ferramosca Roberto +Build-Depends: debhelper (>= 7) Build-Depends-indep: gettext, python, python-support -Standards-Version: 3.8.3 +Standards-Version: 3.8.4 Homepage: http://diffuse.sourceforge.net/ Package: diffuse Architecture: all -Depends: python-gtk2 (>= 2.10), ${python:Depends}, python (>=2.4) +Depends: python-gtk2 (>= 2.10), ${python:Depends}, python (>=2.4), ${misc:Depends} Suggests: desktop-file-utils Description: graphical tool for merging and comparing text files Diffuse is a graphical tool for merging and comparing text files. Diffuse is able to compare an arbitrary number of files side-by-side and gives users the ability to manually adjust line-matching and directly edit files. Diffuse can also retrieve revisions of files from bazaar, CVS, darcs, git, mercurial, - monotone, and Subversion repositories for comparison and merging. + monotone, Subversion and GNU Revision Control System (RCS) repositories for + comparison and merging. diff -Nru diffuse-0.4.1/debian/copyright diffuse-0.4.3~lffl~lucid~ppa/debian/copyright --- diffuse-0.4.1/debian/copyright 2010-06-02 20:36:38.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/debian/copyright 2010-05-28 14:13:39.000000000 +0100 @@ -1,34 +1,50 @@ -This package was debianized by Philipp Huebner on -Sat, 07 Jun 2008 19:54:13 +0200. +This work was packaged for Debian by: -It was downloaded from http://sourceforge.net/project/showfiles.php?group_id=157784 + Ferramosca Roberto on Fri, 28 May 2010 15:13:37 +0200 -Upstream Author: +It was downloaded from: - Derrick Moser + -Copyright: +Upstream Author(s): - © 2006-2009 Derrick Moser + + + +Copyright: + + + License: - This package is free software; you can redistribute it and/or modify + This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or + the Free Software Foundation, either version 3 of the License, or (at your option) any later version. - + This package is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. - + You should have received a copy of the GNU General Public License - along with this package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA + along with this program. If not, see . On Debian systems, the complete text of the GNU General -Public License can be found in `/usr/share/common-licenses/GPL-2'. +Public License version 3 can be found in `/usr/share/common-licenses/GPL-3'. + +The Debian packaging is: + + Copyright (C) 2010 Ferramosca Roberto + +# Please chose a license for your packaging work. If the program you package +# uses a mainstream license, using the same license is the safest choice. +# Please avoid to pick license terms that are more restrictive than the +# packaged work, as it may make Debian's contributions unacceptable upstream. +# If you just want it to be GPL version 3, leave the following line in. + +and is licensed under the GPL version 3, see above. -The Debian packaging is © 2008-2009, Philipp Huebner and -is licensed under the GPL-2, see above. +# Please also look if there are files or directories which have a +# different copyright/license attached and list them here. diff -Nru diffuse-0.4.1/debian/rules diffuse-0.4.3~lffl~lucid~ppa/debian/rules --- diffuse-0.4.1/debian/rules 2010-06-02 20:36:38.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/debian/rules 2010-04-13 17:39:30.000000000 +0100 @@ -8,7 +8,7 @@ install: dh_testdir dh_testroot - dh_clean -k + dh_prep dh_installdirs cp -rf src/* debian/diffuse/ for po in `find translations/ -name *.po`; do \ diff -Nru diffuse-0.4.1/debian/source/format diffuse-0.4.3~lffl~lucid~ppa/debian/source/format --- diffuse-0.4.1/debian/source/format 1970-01-01 01:00:00.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/debian/source/format 2010-06-02 20:22:23.000000000 +0100 @@ -0,0 +1 @@ +3.0 (quilt) diff -Nru diffuse-0.4.1/install.py diffuse-0.4.3~lffl~lucid~ppa/install.py --- diffuse-0.4.1/install.py 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/install.py 2010-04-15 12:53:19.000000000 +0100 @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2009 Derrick Moser +# Copyright (C) 2009-2010 Derrick Moser # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software @@ -157,12 +157,15 @@ for s in glob.glob('translations/*.po'): lang = s[13:-3] d = os.path.join(dst, 'share/locale/%s/LC_MESSAGES/diffuse.mo' % (lang, )) - print 'Installing %s' % (d, ) if install: # install file - createDirs(os.path.dirname(d)) - if subprocess.Popen(['msgfmt', '-o', d, s]).wait() != 0: - raise OSError('Failed to compile "%s" into "%s".' % (s, d)) + try: + print 'Installing %s' % (d, ) + createDirs(os.path.dirname(d)) + if subprocess.Popen(['msgfmt', '-o', d, s]).wait() != 0: + raise OSError() + except OSError: + logError('WARNING: Failed to compile "%s" localisation.' % (lang, )) else: # remove file removeFile(d) diff -Nru diffuse-0.4.1/README diffuse-0.4.3~lffl~lucid~ppa/README --- diffuse-0.4.1/README 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/README 2010-04-15 12:53:19.000000000 +0100 @@ -1,7 +1,7 @@ Diffuse -Version 0.4.1 +Version 0.4.3 -Copyright (C) 2006-2009 Derrick Moser +Copyright (C) 2006-2010 Derrick Moser ---- @@ -9,14 +9,14 @@ able to compare an arbitrary number of files side-by-side and gives users the ability to manually adjust line matching and directly edit files. Diffuse can also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial, -Monotone, Subversion, and SVK repositories for comparison and merging. +Monotone, RCS, Subversion, and SVK repositories for comparison and merging. Some key features of Diffuse: - ability to compare and merge an arbitrary number of files side-by-side (n-way merges) - line matching can be manually corrected by the user - ability to directly edit files - syntax highlighting -- Bazaar, CVS, Darcs, Git, Mercurial, Monotone, Subversion, and SVK support +- Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion, and SVK support - Unicode support - unlimited undo - easy keyboard navigation diff -Nru diffuse-0.4.1/src/usr/bin/diffuse diffuse-0.4.3~lffl~lucid~ppa/src/usr/bin/diffuse --- diffuse-0.4.1/src/usr/bin/diffuse 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/bin/diffuse 2010-04-15 12:53:18.000000000 +0100 @@ -1,7 +1,7 @@ #!/usr/bin/env python # -*- coding: utf-8 -*- -# Copyright (C) 2006-2009 Derrick Moser +# Copyright (C) 2006-2010 Derrick Moser # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software @@ -63,8 +63,8 @@ _ = gettext.gettext APP_NAME = 'Diffuse' -VERSION = '0.4.1' -COPYRIGHT = _('Copyright © 2006-2009 Derrick Moser') +VERSION = '0.4.3' +COPYRIGHT = _('Copyright © 2006-2010 Derrick Moser') WEBSITE = 'http://diffuse.sourceforge.net/' # process help options @@ -83,7 +83,7 @@ able to compare an arbitrary number of files side-by-side and gives users the ability to manually adjust line matching and directly edit files. Diffuse can also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial, -Monotone, Subversion, and SVK repositories for comparison and merging. +Monotone, RCS, Subversion, and SVK repositories for comparison and merging. Help Options: ( -h | -? | --help ) Display this usage information @@ -137,7 +137,8 @@ pass #sys.stderr.write('%s: %s\n', (APP_NAME, s)) # avoid some dictionary lookups when string.whitespace is used in loops -whitespace = string.whitespace +# this is sorted based upon frequency to speed up code for striping whitespace +whitespace = ' \t\n\r\x0b\x0c' # associate our icon with all of our windows if __name__ == '__main__': @@ -407,8 +408,8 @@ # default colours self.colours = { - 'align' : Colour(1.0, 1.0, 0.0), - 'char_selection' : Colour(0.7, 0.7, 1.0), + 'alignment' : Colour(1.0, 1.0, 0.0), + 'character_selection' : Colour(0.7, 0.7, 1.0), 'cursor' : Colour(0.0, 0.0, 0.0), 'difference_1' : Colour(1.0, 0.625, 0.625), 'difference_2' : Colour(0.85, 0.625, 0.775), @@ -418,29 +419,29 @@ 'line_number_background' : Colour(0.75, 0.75, 0.75), 'line_selection' : Colour(0.7, 0.7, 1.0), 'map_background' : Colour(0.6, 0.6, 0.6), - 'modified' : Colour(0.5, 1.0, 0.5), + 'edited' : Colour(0.5, 1.0, 0.5), 'preedit' : Colour(0.0, 0.0, 0.0), 'text' : Colour(0.0, 0.0, 0.0), 'text_background' : Colour(1.0, 1.0, 1.0) } # list of unknown colour resources we have already issued warnings for - self.unknown_colours = {} + self.unknown_colours = set() # default floats self.floats = { - 'align_alpha' : 1.0, - 'char_difference_alpha' : 0.4, - 'char_selection_alpha' : 0.4, - 'line_difference_alpha' : 0.3, - 'line_selection_alpha' : 0.4, - 'modified_alpha' : 0.4 } + 'alignment_opacity' : 1.0, + 'character_difference_opacity' : 0.4, + 'character_selection_opacity' : 0.4, + 'edited_opacity' : 0.4, + 'line_difference_opacity' : 0.3, + 'line_selection_opacity' : 0.4 } # list of unknown float resources we have already issued warnings for - self.unknown_floats = {} + self.unknown_floats = set() # default strings self.strings = {} # list of unknown string resources we have already issued warnings for - self.unknown_strings = {} + self.unknown_strings = set() self.default_colour = Colour(0.0, 0.0, 0.0) self.char_classes = {} @@ -448,10 +449,11 @@ # syntax highlighting support self.syntaxes = {} self.syntax_file_patterns = {} + self.syntax_magic_patterns = {} self.current_syntax = None # list of imported resources files (we only import each file once) - self.resource_files = {} + self.resource_files = set() # special string resources self.setDifferenceColours('difference_1 difference_2 difference_3') @@ -536,55 +538,58 @@ def getCharacterClass(self, c): c = ord(c) - if self.char_classes.has_key(c): - return self.char_classes[c] - return c + return self.char_classes.get(c, c) # colour resources def getColour(self, symbol): if self.colours.has_key(symbol): return self.colours[symbol] - if not self.unknown_colours.has_key(symbol): + if symbol not in self.unknown_colours: logError(_('Warning: unknown colour "%s"') % (symbol, )) - self.unknown_colours[symbol] = None + self.unknown_colours.add(symbol) return self.default_colour # float resources def getFloat(self, symbol): if self.floats.has_key(symbol): return self.floats[symbol] - if not self.unknown_floats.has_key(symbol): + if symbol not in self.unknown_floats: logError(_('Warning: unknown float "%s"') % (symbol, )) - self.unknown_floats[symbol] = None + self.unknown_floats.add(symbol) return 0.5 # string resources def getString(self, symbol): if self.strings.has_key(symbol): return self.strings[symbol] - if not self.unknown_strings.has_key(symbol): + if symbol not in self.unknown_strings: logError(_('Warning: unknown string "%s"') % (symbol, )) - self.unknown_strings[symbol] = None + self.unknown_strings.add(symbol) # syntax highlighting def getSyntaxNames(self): return self.syntaxes.keys() def getSyntax(self, name): - if self.syntaxes.has_key(name): - return self.syntaxes[name] + return self.syntaxes.get(name, None) - def getSyntaxByFilename(self, name): + def guessSyntaxForFile(self, name, ss): name = os.path.basename(name) - for key in self.syntax_file_patterns.keys(): - if self.syntax_file_patterns[key].search(name): + for key, pattern in self.syntax_file_patterns.items(): + if pattern.search(name): return key + # fallback to analysing the first line of the file + if len(ss) > 0: + s = ss[0] + for key, pattern in self.syntax_magic_patterns.items(): + if pattern.search(s): + return key # parse resource files def parse(self, file_name): # only process files once - if not self.resource_files.has_key(file_name): - self.resource_files[file_name] = None + if file_name not in self.resource_files: + self.resource_files.add(file_name) f = open(file_name, 'r') ss = readlines(f) f.close() @@ -617,7 +622,7 @@ elif args[0] in [ 'colour', 'color' ] and len(args) == 5: self.colours[args[1]] = Colour(float(args[2]), float(args[3]), float(args[4])) # eg. set opacity of the line_selection colour - # float line_selection_alpha 0.4 + # float line_selection_opacity 0.4 elif args[0] == 'float' and len(args) == 3: self.floats[args[1]] = float(args[2]) # eg. set the help browser @@ -639,6 +644,9 @@ # remove file pattern for a syntax specification if self.syntax_file_patterns.has_key(key): del self.syntax_file_patterns[key] + # remove magic pattern for a syntax specification + if self.syntax_magic_patterns.has_key(key): + del self.syntax_magic_patterns[key] # remove a syntax specification self.current_syntax = None if self.syntaxes.has_key(key): @@ -672,6 +680,23 @@ if isWindows(): flags |= re.IGNORECASE self.syntax_file_patterns[key] = re.compile(args[2], flags) + # eg. default to the Python syntax rules when viewing + # a files starting with patterns like #!/usr/bin/python + # syntax_magic Python '^#!/usr/bin/python$' + elif args[0] == 'syntax_magic' and len(args) > 1: + key = args[1] + if len(args) == 2: + # remove magic pattern for a syntax specification + if self.syntax_magic_patterns.has_key(key): + del self.syntax_magic_patterns[key] + else: + flags = 0 + for arg in args[3:]: + if arg == 'ignorecase': + flags |= re.IGNORECASE + else: + raise ValueError() + self.syntax_magic_patterns[key] = re.compile(args[2], flags) else: raise ValueError() except: # Grr... the 're' module throws weird errors @@ -730,10 +755,7 @@ self.string_prefs_enums = {} # find available encodings - encs = {} - for e in encodings.aliases.aliases.values(): - encs[e] = None - self.encodings = sorted(encs.keys()) + self.encodings = sorted(set(encodings.aliases.aliases.values())) if isWindows(): font = 'Courier 10' @@ -797,12 +819,11 @@ ], ] if isWindows(): - if os.environ.has_key('SYSTEMDRIVE'): - root = os.environ['SYSTEMDRIVE'] - if not root.endswith('\\'): - root += '\\' - else: + root = os.environ.get('SYSTEMDRIVE', None) + if root is None: root = 'C:\\' + elif not root.endswith('\\'): + root += '\\' self.template.extend([ _('Cygwin'), [ 'List', @@ -818,15 +839,20 @@ ('git', 'Git', 'git', 'HEAD'), ('hg', 'Mercurial', 'hg', 'tip'), ('mtn', 'Monotone', 'mtn', 'h:'), + ('rcs', 'RCS', None, None), ('svn', 'Subversion', 'svn', 'BASE'), ('svk', 'SVK', svk_bin, 'HEAD') ] vcs_template = [ 'FolderSet' ] for key, name, cmd, rev in vcs: - temp = [ 'List', - [ 'File', key + '_bin', cmd, _('Command') ], - [ 'String', key + '_default_revision', rev, _('Default revision') ] - ] + temp = [ 'List' ] + if key == 'rcs': + # RCS uses multiple commands + temp.extend([ [ 'File', key + '_bin_co', 'co', _('"co" command') ], + [ 'File', key + '_bin_rlog', 'rlog', _('"rlog" command') ] ]) + else: + temp.extend([ [ 'File', key + '_bin', cmd, _('Command') ], + [ 'String', key + '_default_revision', rev, _('Default revision') ] ]) if isWindows(): temp.append([ 'Boolean', key + '_bash', False, _('Launch from a Bash login shell') ]) if key != 'git': @@ -1042,18 +1068,26 @@ n = len(pr) if len(p) > n and p[:n] == pr and len(p[n]) == 1: p[:n + 1] = [ p[n] + ':' ] - elif len(p) > 1: - if p[1] != '': - p[0] = self.getString('cygwin_root') + elif len(p) > 1 and p[1] != '': + p[0] = self.getString('cygwin_root') s = os.sep.join(p) return s # convenience method for creating a menu according to a template -def createMenu(specs, accel_group=None): +def createMenu(specs, radio=None, accel_group=None): menu = gtk.Menu() for spec in specs: if len(spec) > 0: - item = gtk.ImageMenuItem(spec[0]) + if len(spec) > 7 and spec[7] is not None: + g, k = spec[7] + if not radio.has_key(g): + item = gtk.RadioMenuItem(None, spec[0]) + radio[g] = (item, {}) + else: + item = gtk.RadioMenuItem(radio[g][0], spec[0]) + radio[g][1][k] = item + else: + item = gtk.ImageMenuItem(spec[0]) cb = spec[1] if cb is not None: data = spec[2] @@ -1070,7 +1104,7 @@ if len(spec) > 5: item.set_sensitive(spec[5]) if len(spec) > 6 and spec[6] is not None: - item.set_submenu(createMenu(spec[6], accel_group)) + item.set_submenu(createMenu(spec[6], radio, accel_group)) else: item = gtk.SeparatorMenuItem() menu.append(item) @@ -1078,15 +1112,25 @@ return menu # convenience method for creating a menu bar according to a template -def createMenuBar(specs, accel_group): +def createMenuBar(specs, radio, accel_group): menu_bar = gtk.MenuBar() for label, spec in specs: menu = gtk.MenuItem(label) - menu.set_submenu(createMenu(spec, accel_group)) + menu.set_submenu(createMenu(spec, radio, accel_group)) menu_bar.append(menu) menu.show() return menu_bar +# convenience method to set a widget's tooltip +def set_tooltip(widget, tip): + if hasattr(widget, 'set_tooltip_text'): + # only available in pygtk >= 2.12 + widget.set_tooltip_text(tip) + else: + # fallback on old tooltip method (pygtk < 2.12) + widget.tooltip = gtk.Tooltips() + widget.tooltip.set_tip(widget, tip) + # convenience method for packing buttons into a container according to a # template def appendButtons(box, size, specs): @@ -1102,9 +1146,7 @@ if len(spec) > 2: button.connect('clicked', spec[1], spec[2]) if len(spec) > 3: - if hasattr(button, 'set_tooltip_text'): - # only available in pygtk >= 2.12 - button.set_tooltip_text(spec[3]) + set_tooltip(button, spec[3]) box.pack_start(button, False, False, 0) button.show() else: @@ -1246,21 +1288,55 @@ raise IOError('Command failed.') return ss +# simulate use of popen with xargs to read the output of a command +def popenXArgsReadLines(dn, cmd, args, prefs, bash_pref, success_results=None): + # os.sysconf() is only available on Unix + if hasattr(os, 'sysconf'): + maxsize = os.sysconf('SC_ARG_MAX') + maxsize -= sum([ len(k) + len(v) + 2 for k, v in os.environ.items() ]) + else: + # assume the Window's limit to CreateProcess() + maxsize = 32767 + maxsize -= sum([ len(k) + 1 for k in cmd ]) + + ss = [] + i, s, a = 0, 0, [] + while i < len(args): + f = (len(a) == 0) + if f: + # start a new command line + a = cmd[:] + elif s + len(args[i]) + 1 <= maxsize: + f = True + if f: + # append another argument to the current command line + a.append(args[i]) + s += len(args[i]) + 1 + i += 1 + if i == len(args) or not f: + ss.extend(popenReadLines(dn, a, prefs, bash_pref, success_results)) + s, a = 0, [] + return ss + # utility class to help support Git and Monotone # represents a set of files and folders of interest for "git status" or # "mtn automate inventory" class _VcsFolderSet: def __init__(self, names): - self.folders = [ os.path.abspath(name) for name in names ] + self.folders = f = [] + for name in names: + name = os.path.abspath(name) + # ensure all names end with os.sep + if not name.endswith(os.sep): + name += os.sep + f.append(name) # returns True if the given abspath is a file that should be included in # the interesting file subset def contains(self, abspath): + if not abspath.endswith(os.sep): + abspath += os.sep for f in self.folders: - if abspath == f: - return True - if not f.endswith(os.sep): - f += os.sep if abspath.startswith(f): return True return False @@ -1331,7 +1407,7 @@ k = os.path.join(self.root, k) if not isabs: k = relpath(pwd, k) - modified[k] = [ (k, None) ] + modified[k] = self.getFileTemplate(prefs, k) elif s[0] == 'R': # renamed file k = k.split(' => ') @@ -1346,11 +1422,10 @@ k1 = relpath(pwd, k1) renamed[k1] = [ (k0, prefs.getString('bzr_default_revision')), (k1, None) ] # sort the results - r = {} + r = set() for m in removed, modified, added, renamed: - for k in m.keys(): - r[k] = None - for k in sorted(r.keys()): + r.update(m.keys()) + for k in sorted(r): for m in removed, modified, added, renamed: if m.has_key(k): result.append(m[k]) @@ -1387,13 +1462,13 @@ v = r[k] if v == 'R': # deleted file - result.append( [ (k, 'HEAD'), (None, None) ] ) + result.append( [ (k, prefs.getString('cvs_default_revision')), (None, None) ] ) elif v == 'A': # new file result.append( [ (None, None), (k, None) ] ) elif v in 'CM': # modified file or merge conflict - result.append( [ (k, None) ] ) + result.append(self.getFileTemplate(prefs, k)) return result def getRevision(self, prefs, name, rev): @@ -1437,7 +1512,7 @@ result.append( [ (None, None), (k, None) ] ) elif v in 'M': # modified file or merge conflict - result.append( [ (k, None) ] ) + result.append(self.getFileTemplate(prefs, k)) return result def getRevision(self, prefs, name, rev): @@ -1499,7 +1574,7 @@ if fs.contains(k): if not isabs: k = relpath(pwd, k) - modified[k] = [ (k, None) ] + modified[k] = self.getFileTemplate(prefs, k) elif s.startswith('#\trenamed:'): # renamed file keys = s[10:].split(' -> ') @@ -1512,11 +1587,10 @@ k1 = relpath(pwd, k1) renamed[k1] = [ (k0, prefs.getString('git_default_revision')), (k1, None) ] # sort the results - r = {} + r = set() for m in unmerged, removed, added, modified, renamed: - for k in m.keys(): - r[k] = None - for k in sorted(r.keys()): + r.update(m.keys()) + for k in sorted(r): for m in unmerged, removed, added, modified, renamed: if m.has_key(k): result.append(m[k]) @@ -1561,7 +1635,7 @@ result.append( [ (None, None), (k, None) ] ) elif v in 'M': # modified file or merge conflict - result.append( [ (k, None) ] ) + result.append(self.getFileTemplate(prefs, k)) return result def getRevision(self, prefs, name, rev): @@ -1633,13 +1707,12 @@ if fs.contains(k): if not isabs: k = relpath(pwd, k) - modified[k] = [ (k, prefs.getString('mtn_default_revision')), (k, None) ] + modified[k] = self.getFileTemplate(prefs, k) # sort the results - r = {} + r = set() for m in removed, added, modified, renamed: - for k in m.keys(): - r[k] = None - for k in sorted(r.keys()): + r.update(m.keys()) + for k in sorted(r): for m in removed, added, modified, renamed: if m.has_key(k): result.append(m[k]) @@ -1648,6 +1721,87 @@ def getRevision(self, prefs, name, rev): return popenReadLines(self.root, [ prefs.getString('mtn_bin'), 'cat', '--quiet', '-r', rev, safeRelativePath(self.root, name, prefs, 'mtn_cygwin') ], prefs, 'mtn_bash') + # RCS support + class Rcs: + def __init__(self, root): + self.root = root + + def getFileTemplate(self, prefs, name): + args = [ prefs.getString('rcs_bin_rlog'), '-L', '-h', safeRelativePath(self.root, name, prefs, 'rcs_cygwin') ] + rev = '' + for line in strip_eols(popenReadLines(self.root, args, prefs, 'rcs_bash')): + if line.startswith('head: '): + rev = line[6:] + return [ (name, rev), (name, None) ] + + def getFolderTemplate(self, prefs, names): + result = [] + pwd, isabs = os.path.abspath(os.curdir), False + + r = [] + for k in names: + if os.path.isdir(k): + # the user specified a folder + n, ex = [ k ], True + while len(n) > 0: + s = n.pop() + recurse = os.path.isdir(os.path.join(s, 'RCS')) + if ex or recurse: + ex = False + for v in os.listdir(s): + dn = os.path.join(s, v) + if v.endswith(',v') and os.path.isfile(dn): + # map to checkout name + r.append(dn[:-2]) + elif v == 'RCS' and os.path.isdir(dn): + for v in os.listdir(dn): + if os.path.isfile(os.path.join(dn, v)): + if v.endswith(',v'): + v = v[:-2] + r.append(os.path.join(s, v)) + elif recurse and os.path.isdir(dn) and not os.path.islink(dn): + n.append(dn) + else: + # the user specified a file + s = k + ',v' + if os.path.isfile(s): + r.append(k) + continue + s = k.split(os.sep) + s.insert(-1, 'RCS') + # old-style RCS repository + if os.path.isfile(os.sep.join(s)): + r.append(k) + continue + # new-style RCS repository + s[-1] += ',v' + if os.path.isfile(os.sep.join(s)): + r.append(k) + + # build list of interesting files + for k in r: + isabs |= os.path.isabs(k) + cmd = [ prefs.getString('rcs_bin_rlog'), '-L', '-h' ] + args = [ safeRelativePath(self.root, k, prefs, 'rcs_cygwin') for k in r ] + + r, k = {}, '' + for line in strip_eols(popenXArgsReadLines(self.root, cmd, args, prefs, 'rcs_bash')): + if line.startswith('Working file: '): + k = prefs.convertToNativePath(line[14:]) + k = os.path.join(self.root, os.path.normpath(k)) + if not isabs: + k = relpath(pwd, k) + elif line.startswith('head: '): + r[k] = line[6:] + + # sort the results + for k in sorted(r.keys()): + result.append([ (k, r[k]), (k, None) ]) + return result + + def getRevision(self, prefs, name, rev): + return popenReadLines(self.root, [ prefs.getString('rcs_bin_co'), '-p', '-q', '-r' + rev, safeRelativePath(self.root, name, prefs, 'rcs_cygwin') ], prefs, 'rcs_bash') + # Subversion support class Svn: def __init__(self, root): @@ -1700,7 +1854,7 @@ result.append( [ (None, None), (k, None) ] ) elif v in 'CM': # modified file or merge conflict - result.append( [ (k, None) ] ) + result.append(self.getFileTemplate(prefs, k)) elif v == 'R': # renamed file result.append( [ (k + '@BASE', prefs.getString('svn_default_revision')), (None, None) ] ) @@ -1722,7 +1876,7 @@ f = open(self.svkconfig, 'r') ss = strip_eols(readlines(f)) f.close() - projs, sep = {}, os.sep + projs, sep = [], os.sep # find the separator character for s in ss: if s.startswith(' sep: ') and len(s) > 7: @@ -1760,16 +1914,11 @@ key = ''.join(tt).replace(sep, os.sep) if isWindows(): key = key.upper() - projs[key] = None + projs.append(key) break # check if the file belongs to one of the project directories - while True: - if projs.has_key(name): - return True - newname = os.path.dirname(name) - if newname == name: - break - name = newname + if _VcsFolderSet(projs).contains(name): + return True except IOError: logError(_('Error parsing %s.') % (config, )) return False @@ -1809,7 +1958,7 @@ result.append( [ (None, None), (k, None) ] ) elif v in 'CMR': # modified file, merge conflict, or renamed file - result.append( [ (k, None) ] ) + result.append(self.getFileTemplate(prefs, k)) return result def getRevision(self, prefs, name, rev): @@ -1817,21 +1966,51 @@ def __init__(self): # initialise the VCS objects - if os.environ.has_key('SVKROOT'): - svkroot = os.environ['SVKROOT'] - else: + svkroot = os.environ.get('SVKROOT', None) + if svkroot is None: svkroot = os.path.expanduser('~/.svk') self.svkconfig = os.path.join(svkroot, 'config') - self.leaf_dir_repos = [('.svn', VCSs.Svn), ('CVS', VCSs.Cvs)] + self.leaf_dir_repos = [('.svn', VCSs.Svn), ('CVS', VCSs.Cvs), ('RCS', VCSs.Rcs)] self.common_dir_repos = [('.git', VCSs.Git), ('.hg', VCSs.Hg), ('.bzr', VCSs.Bzr), ('_darcs', VCSs.Darcs), ('_MTN', VCSs.Mtn)] # determines which VCS to use for the named file - def findByFolder(self, path): + def findByFolder(self, path, prefs): path = os.path.abspath(path) for dir_name, repo in self.leaf_dir_repos: name = os.path.join(path, dir_name) if os.path.isdir(name): return repo(path) + try: + for s in os.listdir(path): + if s.endswith(',v') and os.path.isfile(os.path.join(path, s)): + return VCSs.Rcs(path) + except OSError: + # the user specified an invalid folder name + pass + # $GIT_DIR takes precedence over .git folders + if os.environ.has_key('GIT_DIR'): + try: + d = path + ss = popenReadLines(d, [ prefs.getString('git_bin'), 'rev-parse', '--show-prefix' ], prefs, 'git_bash') + if len(ss) > 0: + # be careful to handle trailing slashes + d = d.split(os.sep) + if d[-1] != '': + d.append('') + ss = strip_eol(ss[0]).split('/') + if ss[-1] != '': + ss.append('') + n = len(ss) + if n <= len(d): + del d[-n:] + if len(d) == 0: + d = os.curdir + else: + d = os.sep.join(d) + return VCSs.Git(d) + except (IOError, OSError, WindowsError): + # working tree not found + pass if self.isSvkManaged(path): return VCSs.Svk(path) while True: @@ -1845,12 +2024,20 @@ path = newpath # determines which VCS to use for the named file - def findByFilename(self, name): + def findByFilename(self, name, prefs): if name is not None: - return self.findByFolder(os.path.dirname(name)) + return self.findByFolder(os.path.dirname(name), prefs) theVCSs = VCSs() +# utility method to step advance an adjustment +def step_adjustment(adj, delta): + v = adj.get_value() + delta + # clamp to the allowed range + v = max(v, int(adj.lower)) + v = min(v, int(adj.upper - adj.page_size)) + adj.set_value(v) + # This is a replacement for gtk.ScrolledWindow as it forced expose events to be # handled immediately after changing the viewport position. This could cause # the application to become unresponsive for a while as it processed a large @@ -1925,14 +2112,15 @@ # update the vertical adjustment when the mouse's scroll wheel is used def scroll_cb(self, widget, event): - vadj = self.get_vadjustment() - v = vadj.get_value() delta = 100 if event.direction == gtk.gdk.SCROLL_UP: - delta = -delta - v = max(v + delta, int(vadj.lower)) - v = min(v, int(vadj.upper - vadj.page_size)) - vadj.set_value(v) + step_adjustment(self.get_vadjustment(), -delta) + elif event.direction == gtk.gdk.SCROLL_DOWN: + step_adjustment(self.get_vadjustment(), delta) + elif event.direction == gtk.gdk.SCROLL_LEFT: + step_adjustment(self.get_hadjustment(), -delta) + elif event.direction == gtk.gdk.SCROLL_RIGHT: + step_adjustment(self.get_hadjustment(), delta) def value_changed_cb(self, widget): old_x, old_y = self.position @@ -2136,6 +2324,9 @@ CHAR_MODE = 1 ALIGN_MODE = 2 +# mapping to column width of a character (tab will never be in this map) +char_width_cache = {} + # widget used to compare and merge text files class FileDiffViewer(gtk.Table): # class describing a text pane @@ -2191,6 +2382,7 @@ gtk.Table.__init__(self, 3, n + 1) self.set_flags(gtk.CAN_FOCUS) self.prefs = prefs + self.string_width_cache = {} # diff blocks self.blocks = [] @@ -2389,19 +2581,56 @@ if not self.prefs.getBool('display_show_whitespace'): s = strip_eol(s) col = 0 - tab_width = self.prefs.getInt('display_tab_width') + get = char_width_cache.get for c in s: + w = get(c, 0) + if w == 0: + v = ord(c) + if v < 32: + if c == '\t': + tab_width = self.prefs.getInt('display_tab_width') + w = tab_width - col % tab_width + elif c == '\n': + w = 1 + char_width_cache[c] = w + else: + w = 2 + char_width_cache[c] = w + elif v >= 0x1100 and (v <= 0x115f + or v == 0x2329 + or v == 0x232a + or (v >= 0x2e80 and v <= 0xa4cf and v != 0x303f) + or (v >= 0xac00 and v <= 0xd7a3) + or (v >= 0xf900 and v <= 0xfaff) + or (v >= 0xfe30 and v <= 0xfe6f) + or (v >= 0xff00 and v <= 0xff60) + or (v >= 0xffe0 and v <= 0xffe6) + or (v >= 0x20000 and v <= 0x2ffff)): + w = 2 + char_width_cache[c] = w + else: + w = 1 + char_width_cache[c] = w + col += w + return col + + # returns the 'column width' for a single character created at column 'i' + def characterWidth(self, i, c): + w = char_width_cache.get(c, 0) + if w == 0: v = ord(c) if v < 32: if c == '\t': - col += tab_width - col % tab_width + tab_width = self.prefs.getInt('display_tab_width') + w = tab_width - i % tab_width elif c == '\n': - col += 1 + w = 1 + char_width_cache[c] = w else: - col += 2 + w = 2 + char_width_cache[c] = w elif v >= 0x1100 and (v <= 0x115f - or v == 0x2329 - or v == 0x232a + or v == 0x2329 or v == 0x232a or (v >= 0x2e80 and v <= 0xa4cf and v != 0x303f) or (v >= 0xac00 and v <= 0xd7a3) or (v >= 0xf900 and v <= 0xfaff) @@ -2409,31 +2638,9 @@ or (v >= 0xff00 and v <= 0xff60) or (v >= 0xffe0 and v <= 0xffe6) or (v >= 0x20000 and v <= 0x2ffff)): - col += 2 - else: - col += 1 - return col - - # returns the 'column width' for a single character created at column 'i' - def characterWidth(self, i, c): - v = ord(c) - if v < 32: - if c == '\t': - tab_width = self.prefs.getInt('display_tab_width') - return tab_width - i % tab_width - elif c != '\n': - return 2 - elif v >= 0x1100 and (v <= 0x115f - or v == 0x2329 or v == 0x232a - or (v >= 0x2e80 and v <= 0xa4cf and v != 0x303f) - or (v >= 0xac00 and v <= 0xd7a3) - or (v >= 0xf900 and v <= 0xfaff) - or (v >= 0xfe30 and v <= 0xfe6f) - or (v >= 0xff00 and v <= 0xff60) - or (v >= 0xffe0 and v <= 0xffe6) - or (v >= 0x20000 and v <= 0x2ffff)): - return 2 - return 1 + w = 2 + char_width_cache[c] = w + return w # translates a string into an array of the printable representation for # each character @@ -2615,6 +2822,8 @@ # be used to determine the required width for the viewport, use True for # this value otherwise def updateSize(self, compute_width, f=None): + digit_width, stringWidth = self.digit_width, self.stringWidth + string_width_cache = self.string_width_cache if compute_width: if f is None: panes = self.panes @@ -2633,7 +2842,10 @@ text.append(line.modified_text) for s in text: if s is not None: - pane.line_lengths = max(pane.line_lengths, self.digit_width * self.stringWidth(s)) + w = string_width_cache.get(s, None) + if w is None: + string_width_cache[s] = w = stringWidth(s) + pane.line_lengths = max(pane.line_lengths, digit_width * w) # compute the maximum extents num_lines, line_lengths = 0, 0 for pane in self.panes: @@ -2644,12 +2856,12 @@ w = self._preedit_layout().get_size()[0] s = self.getLineText(self.current_pane, self.current_line) if s is not None: - w += self.digit_width * self.stringWidth(s) + w += digit_width * stringWidth(s) line_lengths = max(line_lengths, w) # the cursor can move one line past the last line of text, add it so we # can scroll to see this line num_lines += 1 - width = self.getLineNumberWidth() + self.digit_width + line_lengths + width = self.getLineNumberWidth() + digit_width + line_lengths width = pixels(width) height = self.font_height * num_lines # update the adjustments @@ -2933,6 +3145,59 @@ self.map_cache = None self.map.queue_draw() + # remove a line + def removeSpacerLines(self, i, n, skip=-1): + npanes, removed = len(self.panes), [] + for j in range(i, i + n): + for f in range(npanes): + line = self.getLine(f, j) + if line is not None: + if line.line_number > 0 or (f != skip and line.getText() is not None): + break + else: + # remove line + for f in range(npanes): + line = self.getLine(f, j) + if line is not None: + # create undo to record any edits to the line before + # removing it + self.updateLineText(f, j, False, None) + # remove the line so it doesn't persist as a spacer + self.instanceLine(f, j, True) + removed.append(j) + + nremoved = len(removed) + if nremoved > 0: + # update blocks + bi, bii, blocks = 0, 0, self.blocks[:] + for j in removed: + while bii + blocks[bi] < j: + bii += blocks[bi] + bi += 1 + if blocks[bi] == 1: + del blocks[bi] + else: + blocks[bi] -= 1 + bii += 1 + self.updateBlocks(blocks) + + self.alignmentChange(False) + removed.reverse() + for j in removed: + for f in range(npanes): + self.insertNull(f, j, True) + # FIXME: we should be able to do something more intelligent here... + # the syntax cache will become invalidated.... we don't really need + # to do that... + self.invalidateLineMatching(i, n, n - nremoved) + self.alignmentChange(True) + + # queue redraws + self.updateSize(False) + self.map_cache = None + self.map.queue_draw() + return nremoved + # Undo for replacing the lines for a single pane with a new set class ReplaceLinesUndo: def __init__(self, f, lines, new_lines, max_num, new_max_num): @@ -2972,36 +3237,39 @@ def _alignmentHash(self, line): text = line.getText() if text is None: - return '' - # hashes for non-null lines should start with '+' to distinguish them - # from blank lines - if self.prefs.getBool('align_ignore_endofline'): - text = strip_eol(text) - if self.prefs.getBool('align_ignore_blanklines') and isBlank(text): - # consider all lines containing only white space as the same - return '+' - if self.prefs.getBool('align_ignore_whitespace'): + return None + pref = self.prefs.getBool + if pref('align_ignore_whitespace'): # strip all white space from the string for c in whitespace: text = text.replace(c, '') - elif self.prefs.getBool('align_ignore_whitespace_changes'): - # replace all blocks of white space with a single space - pc = True - r = [] - append = r.append - for c in text: - if c in whitespace: - if pc: - append(' ') - pc = False - else: - append(c) - pc = True - text = ''.join(r) - if self.prefs.getBool('align_ignore_case'): + else: + # hashes for non-null lines should start with '+' to distinguish + # them from blank lines + if pref('align_ignore_endofline'): + text = strip_eol(text) + if pref('align_ignore_blanklines') and isBlank(text): + # consider all lines containing only white space as the same + return '' + + if pref('align_ignore_whitespace_changes'): + # replace all blocks of white space with a single space + pc = True + r = [] + append = r.append + for c in text: + if c in whitespace: + if pc: + append(' ') + pc = False + else: + append(c) + pc = True + text = ''.join(r) + if pref('align_ignore_case'): # convert everything to upper case text = text.upper() - return '+' + text + return text # align sets of lines by insertting null spacers and updating the size # of blocks to which they belong @@ -3021,8 +3289,9 @@ s1, s2 = mlines n1, n2 = 0, 0 # hash lines according to the alignment preferences - t1 = [ self._alignmentHash(s) for s in s1 ] - t2 = [ self._alignmentHash(s) for s in s2 ] + a = self._alignmentHash + t1 = [ a(s) for s in s1 ] + t2 = [ a(s) for s in s2 ] # align s1 and s2 by inserting spacer lines # this will be used to determine which lines from the inner lists of # lines should be neighbours @@ -3053,7 +3322,7 @@ while True: # if we have reached the end of the list for any side, it needs # spacer lines to align with the other side - insert = [ i >= len(m) for m in middle ] + insert = [ i >= len(m) for m in middle ] if insert == [ True, True ]: # we have reached the end of both inner lists of lines # we are done @@ -3113,7 +3382,8 @@ if n > 0: blocks.append(n) # create line objects for the text - mid = [ [ FileDiffViewer.Line(j + 1, ss[j]) for j in range(n) ] ] + Line = FileDiffViewer.Line + mid = [ [ Line(j + 1, ss[j]) for j in range(n) ] ] if f > 0: # align with panes to the left @@ -3141,15 +3411,16 @@ self.replaceLines(f, pane.lines, mid[f], pane.max_line_number, n) # insert or remove spacer lines from the other panes + insertNull, getLine = self.insertNull, self.getLine for f_idx in range(len(self.panes)): if f_idx != f: for j in range(old_n-1, -1, -1): - if self.getLine(f_idx, j) is None: - self.insertNull(f_idx, j, True) + if getLine(f_idx, j) is None: + insertNull(f_idx, j, True) temp = mid[f_idx] for j in range(new_n): if temp[j] is None: - self.insertNull(f_idx, j, False) + insertNull(f_idx, j, False) # update the blocks self.invalidateLineMatching(0, old_n, new_n) @@ -3188,12 +3459,13 @@ # find the extents of the current selection f = self.current_pane pane = self.panes[f] + nlines = len(pane.lines) line0, line1 = self.selection_line, self.current_line if self.mode == LINE_MODE: col0, col1 = 0, 0 if line1 < line0: line0, line1 = line1, line0 - if line1 < len(pane.lines): + if line1 < nlines: line1 += 1 else: col0, col1 = self.selection_char, self.current_char @@ -3227,7 +3499,7 @@ # the replacement text does not end with a new line character # we need more text to finish the line, search forward for some # more text - while line1 < len(pane.lines): + while line1 < nlines: s = self.getLineText(f, line1) line1 += 1 if s is not None: @@ -3241,20 +3513,25 @@ ss.append(s[col1:]) line1 += 1 # insert blank lines for more space if needed - n_have = line1 - line0 + npanes = len(self.panes) + + # remove blank rows if possible n_need = len(ss) - if n_need > n_have: - self.insertLines(line1, n_need - n_have) + n_have = line1 - line0 + n_have -= self.removeSpacerLines(line0, n_have, f) + delta = n_have - n_need + if delta < 0: + self.insertLines(line0 + n_have, -delta) + delta = 0 # update the text for i, s in enumerate(ss): self.updateText(f, line0 + i, s) # clear all unused lines - if n_have > n_need: - for i in range(n_need, n_have): - self.updateText(f, line0 + i, None) + for i in range(delta): + self.updateText(f, line0 + n_need + i, None) # update selection if self.mode == LINE_MODE: - self.setCurrentLine(f, line0 + max(n_need, n_have) - 1, line0) + self.setCurrentLine(f, line0 + max(n_need, 1) - 1, line0) else: self.setCurrentChar(cur_line, lastcol) self.recordEditMode() @@ -3343,8 +3620,12 @@ self.updateAlignment(start, end - start, finallines) self.updateBlocks(pre_blocks) + i = len(lines_s[0][0][0]) + self.removeSpacerLines(start + i, len(finallines[0]) - i) + i -= min(self.removeSpacerLines(start, i), i - 1) + # update selection - self.setCurrentLine(self.current_pane, start + len(lines_s[0][0][0])) + self.setCurrentLine(self.current_pane, start + i) self.recordEditMode() # Undo for changing the selection mode and range @@ -3938,9 +4219,9 @@ preeditwidth = 0 # draw background colour = theResources.getColour('text_background') - alpha = theResources.getFloat('char_difference_alpha') + alpha = theResources.getFloat('character_difference_opacity') if flags != 0: - colour = (diffcolours[flags - 1] * theResources.getFloat('line_difference_alpha')).over(colour) + colour = (diffcolours[flags - 1] * theResources.getFloat('line_difference_opacity')).over(colour) cr.set_source_rgb(colour.red, colour.green, colour.blue) cr.paint() @@ -3963,16 +4244,16 @@ if has_preedit or (line is not None and line.is_modified): # draw modified - colour = theResources.getColour('modified') - alpha = theResources.getFloat('modified_alpha') + colour = theResources.getColour('edited') + alpha = theResources.getFloat('edited_opacity') preedit_bg_colour = (colour * alpha).over(preedit_bg_colour) cr.set_source_rgba(colour.red, colour.green, colour.blue, alpha) cr.paint() if self.mode == ALIGN_MODE: # draw align if self.align_pane == f and self.align_line == i: - colour = theResources.getColour('align') - alpha = theResources.getFloat('align_alpha') + colour = theResources.getColour('alignment') + alpha = theResources.getFloat('alignment_opacity') cr.set_source_rgba(colour.red, colour.green, colour.blue, alpha) cr.paint() elif self.mode == LINE_MODE: @@ -3983,7 +4264,7 @@ start, end = end, start if i >= start and i <= end: colour = theResources.getColour('line_selection') - alpha = theResources.getFloat('line_selection_alpha') + alpha = theResources.getFloat('line_selection_opacity') cr.set_source_rgba(colour.red, colour.green, colour.blue, alpha) cr.paint() elif self.mode == CHAR_MODE: @@ -4007,8 +4288,8 @@ layout = self.create_pango_layout(''.join(ss[start_char:end_char])) layout.set_font_description(self.font) w = layout.get_size()[0] - colour = theResources.getColour('char_selection') - alpha = theResources.getFloat('char_selection_alpha') + colour = theResources.getColour('character_selection') + alpha = theResources.getFloat('character_selection_opacity') cr.set_source_rgba(colour.red, colour.green, colour.blue, alpha) cr.rectangle(x_start + pixels(x_temp), y_start, pixels(w), h) cr.fill() @@ -4173,14 +4454,11 @@ # callback to handle mouse scrollwheel events def map_scroll_cb(self, widget, event): - vadj = self.vadj - v = vadj.get_value() delta = 100 if event.direction == gtk.gdk.SCROLL_UP: - delta = -delta - v = max(v + delta, int(vadj.lower)) - v = min(v, int(vadj.upper - vadj.page_size)) - vadj.set_value(v) + step_adjustment(self.vadj, -delta) + elif event.direction == gtk.gdk.SCROLL_DOWN: + step_adjustment(self.vadj, delta) # redraws the overview map when a portion is exposed def map_expose_cb(self, widget, event): @@ -4241,7 +4519,7 @@ cr.set_source_rgb(colour.red, colour.green, colour.blue) cr.paint() bg_colour = theResources.getColour('text_background') - modified_colour = theResources.getColour('modified') + edited_colour = theResources.getColour('edited') # get scroll position and total size r = widget.get_allocation() @@ -4265,7 +4543,7 @@ colour = bg_colour elif p == 1 and flag & 7: if flag & 4: - colour = modified_colour + colour = edited_colour else: colour = diffcolours[(flag & 3) - 1] else: @@ -4293,7 +4571,7 @@ yh -= 1 if ymin + yh > y: colour = theResources.getColour('line_selection') - alpha = theResources.getFloat('line_selection_alpha') + alpha = theResources.getFloat('line_selection_opacity') cr.set_source_rgba(colour.red, colour.green, colour.blue, alpha) cr.rectangle(0.5, ymin + 0.5, w - 1, yh - 1) cr.fill() @@ -4728,7 +5006,14 @@ # callback used when receiving clipboard text def receive_clipboard_text_cb(self, clipboard, text, data): if self.mode == LINE_MODE or self.mode == CHAR_MODE: + # there is no guarantee this will be called before finishing + # gtk.clipboard_get so we may need to create our own undo block + needs_block = (self.undoblock is None) + if needs_block: + self.openUndoBlock() self.replaceText(self.prefs.convertToUnicode([ text ])[0][0]) + if needs_block: + self.closeUndoBlock() # 'paste' action def paste(self): @@ -4835,6 +5120,8 @@ # recompute viewport size and redraw as the display preferences may have # changed def prefsUpdated(self): + # clear cache as tab width may have changed + self.string_width_cache = {} self.setFont(pango.FontDescription(self.prefs.getString('display_font'))) # update preedit text self._cursor_position_changed(True) @@ -4913,7 +5200,6 @@ end = start + sum(b) if end > start: end -= 1 - self.setCurrentLine(f, end, start) removeNullLines(middle, lines) for s, line in zip(space, lines): @@ -4925,6 +5211,9 @@ pre.extend(middle) pre.extend(post) self.updateBlocks(pre) + self.removeSpacerLines(end, sum(middle)) + end -= self.removeSpacerLines(start, sum(b)) + self.setCurrentLine(f, end, start) self.recordEditMode() # returns True if line 'i' in pane 'f' has an edit or is different from its @@ -5336,6 +5625,12 @@ self.setFormat(f_dst, getFormat(ss)) for i, s in enumerate(ss): self.updateText(f_dst, start + i, convert_to_format(s, pane.format)) + n = len(ss) + delta = min(self.removeSpacerLines(start, n), n - 1) + if self.selection_line > start: + self.selection_line -= delta + if self.current_line > start: + self.current_line -= delta self.recordEditMode() # callback for merge lines menu item @@ -5652,9 +5947,7 @@ image.set_from_stock(gtk.STOCK_CLOSE, gtk.ICON_SIZE_MENU) button.add(image) image.show() - if hasattr(button, 'set_tooltip_text'): - # only available in pygtk >= 2.12 - button.set_tooltip_text(_('Close Tab')) + set_tooltip(button, _('Close Tab')) hbox.pack_start(button, False, False, 0) button.show() self.add(hbox) @@ -5684,37 +5977,6 @@ # to warn about changes to file on disk self.last_stat = None -# custom statusbar widget information about syntax highlighting -class Statusbar(gtk.Statusbar): - def __init__(self): - gtk.Statusbar.__init__(self) - self.context = self.get_context_id('Message') - - separator = gtk.VSeparator() - self.pack_end(separator, False, False, 10) - separator.show() - - self.syntax = syntax = gtk.Label() - self.pack_end(syntax, False, False, 0) - syntax.show() - - separator = gtk.VSeparator() - self.pack_end(separator, False, False, 10) - separator.show() - - # set the status bar text - def setText(self, s): - if s is None: - s = '' - self.pop(self.context) - self.push(self.context, s) - - # set the syntax highlighting label - def setSyntax(self, s): - if s is None: - s = '' - self.syntax.set_text(s) - # the main application class containing a set of file viewers # this class displays tab for switching between viewers and dispatches menu # commands to the current viewer @@ -5933,14 +6195,14 @@ # choose a short but descriptive title for the viewer has_edits = False names = [] - unique_names = {} + unique_names = set() for header in self.headers: has_edits |= header.has_edits s = header.info.name if s is not None: s = os.path.basename(s) names.append(s) - unique_names[s] = None + unique_names.add(s) if len(unique_names) > 0: if len(unique_names) == 1: @@ -6005,7 +6267,7 @@ self.setFileInfo(f, info) # use the file name to choose appropriate syntax highlighting rules if name is not None: - syntax = theResources.getSyntaxByFilename(name) + syntax = theResources.guessSyntaxForFile(name, ss) if syntax is not None: self.setSyntax(syntax) @@ -6028,7 +6290,7 @@ revision = dialog.get_revision().strip() if revision != '': rev = revision - vcs = theVCSs.findByFilename(name) + vcs = theVCSs.findByFilename(name, self.prefs) info = FileInfo(name, dialog.get_encoding(), vcs, rev) dialog.destroy() if end: @@ -6117,11 +6379,12 @@ # convert the text to the output encoding # refresh the lines to contain new objects with updated line # numbers and no local edits - encoded = [] + ss, encoded = [], [] for line in self.panes[f].lines: if line is not None: s = line.getText() if s is not None: + ss.append(s) encoded.append(codecs.encode(s, encoding)) # write file @@ -6140,7 +6403,7 @@ self.setFileInfo(f, info) # update the syntax highlighting incase we changed the file # extension - syntax = theResources.getSyntaxByFilename(name) + syntax = theResources.guessSyntaxForFile(name, ss) if syntax is not None: self.setSyntax(syntax) return True @@ -6350,13 +6613,13 @@ [], [_('Pr_eferences...'), self.preferences_cb, None, gtk.STOCK_PREFERENCES, 'preferences'] ] ]) - submenudef = [ [_('None'), self.syntax_cb, None, None, 'no_syntax_highlighting'] ] + submenudef = [ [_('None'), self.syntax_cb, None, None, 'no_syntax_highlighting', True, None, ('syntax', None) ] ] names = theResources.getSyntaxNames() if len(names) > 0: submenudef.append([]) names.sort(key=str.lower) for name in names: - submenudef.append([name, self.syntax_cb, name, None, 'syntax_highlighting_' + name]) + submenudef.append([name, self.syntax_cb, name, None, 'syntax_highlighting_' + name, True, None, ('syntax', name) ]) menuspecs.append([ _('_View'), [ [_('_Syntax Highlighting'), None, None, None, None, True, submenudef], @@ -6407,7 +6670,12 @@ [], [_('_About %s...') % (APP_NAME, ), self.about_cb, None, gtk.STOCK_ABOUT, 'about'] ] ]) - menu_bar = createMenuBar(menuspecs, accel_group) + # used to disable menu events when switching tabs + self.menu_update_depth = 0 + # build list of radio menu items so we can update them to match the + # currently viewed pane + self.radio_menus = radio_menus = {} + menu_bar = createMenuBar(menuspecs, radio_menus, accel_group) vbox.pack_start(menu_bar, False, False, 0) menu_bar.show() @@ -6448,8 +6716,8 @@ vbox.pack_start(notebook, True, True, 0) notebook.show() - # Add a status bar to the botton - self.statusbar = statusbar = Statusbar() + # Add a status bar to the bottom + self.statusbar = statusbar = gtk.Statusbar() vbox.pack_start(statusbar, False, False, 0) statusbar.show() @@ -6615,11 +6883,23 @@ # update the message in the status bar def setStatus(self, s): - self.statusbar.setText(s) + sb = self.statusbar + context = sb.get_context_id('Message') + sb.pop(context) + if s is None: + s = '' + sb.push(context, s) # update the label in the status bar def setSyntax(self, s): - self.statusbar.setSyntax(s) + # update menu + t = self.radio_menus.get('syntax', None) + if t is not None: + t = t[1] + if t.has_key(s): + self.menu_update_depth += 1 + t[s].set_active(True) + self.menu_update_depth -= 1 # callback used when switching notebook pages def switch_page_cb(self, widget, ptr, page_num): @@ -6678,7 +6958,7 @@ # determine which other files to compare it with name, data = items[0] rev, encoding = data[0] - vcs = theVCSs.findByFilename(name) + vcs = theVCSs.findByFilename(name, self.prefs) if vcs is None: # shift the existing file so it will be in the second pane specs.append(FileInfo()) @@ -6699,7 +6979,7 @@ if rev is None: vcs = None else: - vcs = theVCSs.findByFilename(name) + vcs = theVCSs.findByFilename(name, self.prefs) specs.append(FileInfo(name, encoding, vcs, rev)) # open a new viewer @@ -6734,11 +7014,14 @@ dst[1] = r[-1][1] dst[2].append(s) for dn, encoding, names in new_items: - vcs = theVCSs.findByFolder(dn) + vcs = theVCSs.findByFolder(dn, self.prefs) if vcs is not None: try: - for template in vcs.getFolderTemplate(self.prefs, names): - self.newLoadedFileDiffViewer([ (name, [ (rev, encoding) ]) for name, rev in template ]) + for specs in vcs.getFolderTemplate(self.prefs, names): + viewer = self.newFileDiffViewer(len(specs)) + for i, spec in enumerate(specs): + name, rev = spec + viewer.load(i, FileInfo(name, encoding, vcs, rev)) except (IOError, OSError, WindowsError): dialog = MessageDialog(self.get_toplevel(), gtk.MESSAGE_ERROR, _('Error retrieving modifications for %s.') % (dn, )) dialog.run() @@ -6925,7 +7208,10 @@ # callback for all of the syntax highlighting menu items def syntax_cb(self, widget, data): - self.getCurrentViewer().setSyntax(data) + # ignore events while we update the menu when switching tabs + # also ignore notification of the newly disabled item + if self.menu_update_depth == 0 and widget.get_active(): + self.getCurrentViewer().setSyntax(data) # callback for the previous tab menu item def previous_tab_cb(self, widget, data): @@ -6964,9 +7250,10 @@ else: # verify gnome-help is available browser = None - if os.environ.has_key('PATH'): - for p in os.environ['PATH'].split(os.pathsep): - fp = os.path.join(p, 'gnome-help') + p = os.environ.get('PATH', None) + if p is not None: + for s in p.split(os.pathsep): + fp = os.path.join(s, 'gnome-help') if os.path.isfile(fp): browser = fp break @@ -7018,9 +7305,8 @@ # process the command line arguments if __name__ == '__main__': # find the config directory - if os.environ.has_key('XDG_CONFIG_HOME'): - rc_dir = os.environ['XDG_CONFIG_HOME'] - else: + rc_dir = os.environ.get('XDG_CONFIG_HOME', None) + if rc_dir is None: rc_dir = os.path.join(os.path.expanduser('~'), '.config') for rc_dir in rc_dir, os.path.join(rc_dir, 'diffuse'): # create the directory if it didn't exist @@ -7091,8 +7377,7 @@ elif i + 1 < argc and arg in [ '-e', '--encoding' ]: i += 1 encoding = args[i] - if encodings.aliases.aliases.has_key(encoding): - encoding = encodings.aliases.aliases[encoding] + encoding = encodings.aliases.aliases.get(encoding, encoding) elif arg in [ '-m', '--modified' ]: funcs[mode](specs) specs = [] diff -Nru diffuse-0.4.1/src/usr/share/applications/diffuse.desktop diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/applications/diffuse.desktop --- diffuse-0.4.1/src/usr/share/applications/diffuse.desktop 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/applications/diffuse.desktop 2010-04-15 12:53:19.000000000 +0100 @@ -1,10 +1,12 @@ [Desktop Entry] Name=Diffuse Merge Tool Name[de]=Diffuse Mischwerkzeug +Name[es]=Diffuse utillaje de textos Name[ja]=Diffuse マージツール Name[zh_CN]=Diffuse 比较合并工具 Comment=Graphical tool for merging and comparing text files Comment[de]=Werzeug zum Mischen und Vergleichen von Textdateien +Comment[es]=Un utillaje para juntar y comparar archivos de texto Comment[ja]=テキストファイルをマージして比較するためのグラフィックツール Comment[zh_CN]=图形化的比较和合并文本文件的工具 Exec=diffuse -s %F @@ -13,3 +15,4 @@ Type=Application MimeType=text/plain;text/x-csrc;text/x-chdr; Categories=Development;GTK;TextEditor;TextTools; +StartupNotify=true diff -Nru diffuse-0.4.1/src/usr/share/diffuse/syntax/bash.syntax diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/bash.syntax --- diffuse-0.4.1/src/usr/share/diffuse/syntax/bash.syntax 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/bash.syntax 2010-04-15 12:53:19.000000000 +0100 @@ -2,6 +2,7 @@ # Copyright (C) 2008-2009 Derrick Moser syntax 'Bourne Shell' normal text syntax_files 'Bourne Shell' '^(.*\.sh|\.bashrc)$' +syntax_magic 'Bourne Shell' '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?(sh|ash|bash|dash|ksh|pdksh|rbash|zsh)[0-9\.]*([ \t].*)?$' # colours colour bash_comment 0.2 0.4 0.64 diff -Nru diffuse-0.4.1/src/usr/share/diffuse/syntax/csharp.syntax diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/csharp.syntax --- diffuse-0.4.1/src/usr/share/diffuse/syntax/csharp.syntax 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/csharp.syntax 2010-04-15 12:53:19.000000000 +0100 @@ -1,11 +1,13 @@ # C# syntax file for Diffuse -# Copyright (C) 2008-2009 Derrick Moser +# Copyright (C) 2008-2010 Derrick Moser syntax 'C#' normal text syntax_files 'C#' '\.cs$' # colours colour csharp_comment 0.2 0.4 0.64 colour csharp_fixme 1.0 0.5 0.0 +colour csharp_cpp 0.8 0.0 0.0 +colour csharp_cppkeyword 0.46 0.31 0.48 colour csharp_import 0.46 0.31 0.48 colour csharp_keyword 0.77 0.63 0.0 colour csharp_type 0.3 0.6 0.02 @@ -17,6 +19,14 @@ # whitespace syntax_pattern normal normal text '[ \t\r\n]+' +# preprocessor +syntax_pattern normal cpp csharp_cppkeyword '^[ \t]*#[ \t]*(define|elif|else|endif|endregion|error|if|line|region|undef|warning)\b' +syntax_pattern cpp normal csharp_cppkeyword '(\r\n|\r|\n)$' + +# preprocessor args +syntax_pattern cpp cpp csharp_cpp '\\(\r\n|\r|\n)$' +syntax_pattern cpp cpp csharp_cpp '.[^\\/\r\n]*' + # C++ style comments syntax_pattern normal cpp_comment csharp_comment '//' syntax_pattern cpp_comment normal csharp_comment '(\r\n|\r|\n)$' diff -Nru diffuse-0.4.1/src/usr/share/diffuse/syntax/csh.syntax diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/csh.syntax --- diffuse-0.4.1/src/usr/share/diffuse/syntax/csh.syntax 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/csh.syntax 2010-04-15 12:53:19.000000000 +0100 @@ -2,6 +2,7 @@ # Copyright (C) 2008-2009 Derrick Moser syntax 'C Shell' normal text syntax_files 'C Shell' '^(.*\.csh|\.t?cshrc)$' +syntax_magic 'C Shell' '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?(t?csh)[0-9\.]*([ \t].*)?$' # colours colour csh_comment 0.2 0.4 0.64 diff -Nru diffuse-0.4.1/src/usr/share/diffuse/syntax/gettext.syntax diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/gettext.syntax --- diffuse-0.4.1/src/usr/share/diffuse/syntax/gettext.syntax 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/gettext.syntax 2010-04-15 12:53:19.000000000 +0100 @@ -1,5 +1,5 @@ # Gettext syntax file for Diffuse -# Copyright (C) 2008-2009 Derrick Moser +# Copyright (C) 2008-2010 Derrick Moser syntax Gettext normal text syntax_files Gettext '\.pot?$' @@ -9,7 +9,7 @@ colour gettext_string 0.8 0.0 0.0 colour gettext_escapedchar 0.46 0.31 0.48 -# C++ style comments +# comments syntax_pattern normal comment gettext_comment '#' syntax_pattern comment normal gettext_comment '(\r\n|\r|\n)$' syntax_pattern comment comment gettext_fixme '\b(TODO|FIXME|XXX)\b' @@ -22,4 +22,4 @@ syntax_pattern string string gettext_string '.[^\\"]*' # parsing optimisation -syntax_pattern normal normal text '[a-z_][a-z_0-9]*' ignorecase +syntax_pattern normal normal text '[ \ta-z_0-9]+' ignorecase diff -Nru diffuse-0.4.1/src/usr/share/diffuse/syntax/perl.syntax diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/perl.syntax --- diffuse-0.4.1/src/usr/share/diffuse/syntax/perl.syntax 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/perl.syntax 2010-04-15 12:53:19.000000000 +0100 @@ -2,6 +2,7 @@ # Copyright (C) 2008-2009 Derrick Moser syntax Perl normal text syntax_files Perl '\.p[hlm]$' +syntax_magic Perl '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?perl[0-9\.]*([ \t].*)?$' # colours colour perl_comment 0.2 0.4 0.64 diff -Nru diffuse-0.4.1/src/usr/share/diffuse/syntax/python.syntax diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/python.syntax --- diffuse-0.4.1/src/usr/share/diffuse/syntax/python.syntax 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/python.syntax 2010-04-15 12:53:19.000000000 +0100 @@ -2,6 +2,7 @@ # Copyright (C) 2008-2009 Derrick Moser syntax Python normal text syntax_files Python '^(.*\.pyw?|Sconscript|(S[Cc]|sc)onstruct)$' +syntax_magic Python '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?python[0-9\.]*([ \t].*)?$' # colours colour python_comment 0.2 0.4 0.64 diff -Nru diffuse-0.4.1/src/usr/share/diffuse/syntax/ruby.syntax diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/ruby.syntax --- diffuse-0.4.1/src/usr/share/diffuse/syntax/ruby.syntax 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/ruby.syntax 2010-04-15 12:53:19.000000000 +0100 @@ -2,6 +2,7 @@ # Copyright (C) 2008-2009 Derrick Moser syntax Ruby normal text syntax_files Ruby '\.rb$' +syntax_magic Ruby '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?ruby[0-9\.]*([ \t].*)?$' # colours colour ruby_comment 0.2 0.4 0.64 diff -Nru diffuse-0.4.1/src/usr/share/diffuse/syntax/sql.syntax diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/sql.syntax --- diffuse-0.4.1/src/usr/share/diffuse/syntax/sql.syntax 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/sql.syntax 2010-04-15 12:53:19.000000000 +0100 @@ -18,7 +18,7 @@ # whitespace syntax_pattern normal normal text '[ \t\r\n]+' -# C++ style comments +# regular comments syntax_pattern normal cpp_comment sql_comment '(#|--)' syntax_pattern cpp_comment cpp_comment sql_fixme '\b(TODO|FIXME|XXX)\b' syntax_pattern cpp_comment normal sql_comment '(\r\n|\r|\n)$' diff -Nru diffuse-0.4.1/src/usr/share/diffuse/syntax/tcl.syntax diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/tcl.syntax --- diffuse-0.4.1/src/usr/share/diffuse/syntax/tcl.syntax 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/tcl.syntax 2010-04-15 12:53:19.000000000 +0100 @@ -2,6 +2,7 @@ # Copyright (C) 2008-2009 Derrick Moser syntax Tcl normal text syntax_files Tcl '\.tcl$' +syntax_magic Tcl '^#![ \t]*([^ \t/]*/)*(env[ \t]+)?(tclsh|wish)[0-9\.]*([ \t].*)?$' # colours colour tcl_comment 0.2 0.4 0.64 diff -Nru diffuse-0.4.1/src/usr/share/diffuse/syntax/vb.syntax diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/vb.syntax --- diffuse-0.4.1/src/usr/share/diffuse/syntax/vb.syntax 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/vb.syntax 2010-04-15 12:53:19.000000000 +0100 @@ -17,7 +17,7 @@ # whitespace syntax_pattern normal normal text '[ \t\r\n]+' -# C++ style comments +# comments syntax_pattern normal comment vb_comment "'" syntax_pattern normal comment vb_comment '\brem\b' ignorecase syntax_pattern comment normal vb_comment '(\r\n|\r|\n)$' diff -Nru diffuse-0.4.1/src/usr/share/diffuse/syntax/xml.syntax diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/xml.syntax --- diffuse-0.4.1/src/usr/share/diffuse/syntax/xml.syntax 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/diffuse/syntax/xml.syntax 2010-04-15 12:53:19.000000000 +0100 @@ -2,6 +2,7 @@ # Copyright (C) 2008-2009 Derrick Moser syntax XML normal text syntax_files XML '\.(dtd|omf|plist|svg|xhtml|xml|xsd|xsl)$' +syntax_magic XML '^[ \t]*<\?[ \t]*xml\b' # colours colour xml_comment 0.2 0.4 0.64 diff -Nru diffuse-0.4.1/src/usr/share/gnome/help/diffuse/C/diffuse.xml diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/gnome/help/diffuse/C/diffuse.xml --- diffuse-0.4.1/src/usr/share/gnome/help/diffuse/C/diffuse.xml 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/gnome/help/diffuse/C/diffuse.xml 2010-04-15 12:53:18.000000000 +0100 @@ -2,14 +2,14 @@ - + ]> &app; User's Manual - 2009 + 2009-2010 Derrick Moser @@ -32,8 +32,8 @@ is able to compare an arbitrary number of files side-by-side and gives users the ability to manually adjust line matching and directly edit files. &app; can also retrieve revisions of files from Bazaar, CVS, - Darcs, Git, Mercurial, Monotone, Subversion, and SVK repositories for - comparison and merging. + Darcs, Git, Mercurial, Monotone, RCS, Subversion, and SVK repositories + for comparison and merging. @@ -41,7 +41,7 @@ &app; was written by Derrick Moser derrick_moser@yahoo.com. - © 2006-2009 Derrick Moser. All Rights Reserved. + © 2006-2010 Derrick Moser. All Rights Reserved. @@ -446,7 +446,7 @@ The -m option will cause Diffuse to open comparison tabs for each file the version control system indicates has uncommitted modifications. This is convenient for reviewing all - changes before commiting or resolving a merge conflict. If no paths + changes before committing or resolving a merge conflict. If no paths are specified the current working directory will be used. For example, view all of your uncommitted modifications with this command line: @@ -1511,14 +1511,14 @@ - align + alignment colour used to indicate a line picked for manual alignment - char_selection + character_selection colour used to indicate selected characters @@ -1553,6 +1553,13 @@ + edited + + colour used to indicate edited lines + + + + hatch colour used for indicating alignment gaps @@ -1588,13 +1595,6 @@ - modified - - colour used to indicate modified lines - - - - preedit pre-edit text colour @@ -1643,44 +1643,50 @@ - align_alpha + alignment_opacity - alpha value used when compositing the manual alignment colour + opacity used when compositing the manual alignment colour + Defaults: 1 - char_difference_alpha + character_difference_opacity - alpha value used when compositing character difference colours + opacity used when compositing character difference colours + Defaults: 0.4 - char_selection_alpha + character_selection_opacity - alpha value used when compositing the character selection colour + opacity used when compositing the character selection colour + Defaults: 0.4 - line_difference_alpha + edited_opacity - alpha value used when compositing line difference colours + opacity used when compositing the edited line colour + Defaults: 0.4 - line_selection_alpha + line_difference_alpha - alpha value used when compositing the line selection colour + alpha value used when compositing line difference colours + Defaults: 0.3 - modified_alpha + line_selection_opacity - alpha value used when compositing the modified line colour + opacity used when compositing the line selection colour + Defaults: 0.4 @@ -1726,16 +1732,31 @@ - syntax_pattern name initial_state final_state tag pattern ignorecase + syntax_magic name pattern ignorecase + + + Specifies that files with a first line matching + pattern should be highlighted using + the syntax style called name. + Patterns used to match files for use with the syntax style called + name can be removed by omitting + pattern. + + + + + + syntax_pattern name initial_state final_state tag pattern ignorecase - Adds a pattern to the previously declared syntax style. The - pattern will only be used to match characters if the state - machine is in the state - initial_state. The state machine - will transition to final_state if - the pattern defined by pattern is - matched. Case insensitive pattern matching will be used if + Adds a pattern to the previously declared syntax style. Patterns + are tried one at a time in the order they were declared until the + first match is found. A pattern will only be used to match + characters if the state machine is in the state + initial_state. The state machine will + transition to final_state if the + pattern defined by pattern is matched. + Case insensitive pattern matching will be used if ignorecase is specified. All characters matched by the pattern will be tagged as tag for highlighting. diff -Nru diffuse-0.4.1/src/usr/share/man/man1/diffuse.1 diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/man/man1/diffuse.1 --- diffuse-0.4.1/src/usr/share/man/man1/diffuse.1 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/man/man1/diffuse.1 2010-04-15 12:53:18.000000000 +0100 @@ -1,4 +1,4 @@ -.TH "DIFFUSE" "1" "2009\-10\-12" "diffuse 0\&.4\&.1" "Diffuse Manual" +.TH "DIFFUSE" "1" "2010\-04\-15" "diffuse 0\&.4\&.3" "Diffuse Manual" .nh .ad l .SH "NAME" @@ -10,7 +10,7 @@ \fBdiffuse\fR [\fB\-\-no\-rcfile\fR | \fB\-\-rcfile\ \fR\fB\fIfile\fR\fR] [[\fIoption\fR...] | [\fIfile\fR...]...] .SH "DESCRIPTION" .PP -Diffuse is a graphical tool for merging and comparing text files\&. Diffuse is able to compare an arbitrary number of files side\-by\-side and gives users the ability to manually adjust line matching and directly edit files\&. Diffuse can also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial, Monotone, Subversion, and SVK repositories for comparison and merging\&. +Diffuse is a graphical tool for merging and comparing text files\&. Diffuse is able to compare an arbitrary number of files side\-by\-side and gives users the ability to manually adjust line matching and directly edit files\&. Diffuse can also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial, Monotone, RCS, Subversion, and SVK repositories for comparison and merging\&. .SH "OPTIONS" .SS "Help Options" .PP @@ -176,7 +176,7 @@ .PP The \fB\-m\fR -option will cause Diffuse to open comparison tabs for each file the version control system indicates has uncommitted modifications\&. This is convenient for reviewing all changes before commiting or resolving a merge conflict\&. If no paths are specified the current working directory will be used\&. For example, view all of your uncommitted modifications with this command line: +option will cause Diffuse to open comparison tabs for each file the version control system indicates has uncommitted modifications\&. This is convenient for reviewing all changes before committing or resolving a merge conflict\&. If no paths are specified the current working directory will be used\&. For example, view all of your uncommitted modifications with this command line: .PP .sp @@ -1184,12 +1184,12 @@ .PP The following colour resources are used by Diffuse: .PP -\fBalign\fR +\fBalignment\fR .RS 4 colour used to indicate a line picked for manual alignment .RE .PP -\fBchar_selection\fR +\fBcharacter_selection\fR .RS 4 colour used to indicate selected characters .RE @@ -1214,6 +1214,11 @@ colour used to identify differences between the third pair of files .RE .PP +\fBedited\fR +.RS 4 +colour used to indicate edited lines +.RE +.PP \fBhatch\fR .RS 4 colour used for indicating alignment gaps @@ -1239,11 +1244,6 @@ background colour for the map area .RE .PP -\fBmodified\fR -.RS 4 -colour used to indicate modified lines -.RE -.PP \fBpreedit\fR .RS 4 pre\-edit text colour @@ -1278,34 +1278,46 @@ .PP The following floating point resources are used by Diffuse: .PP -\fBalign_alpha\fR +\fBalignment_opacity\fR .RS 4 -alpha value used when compositing the manual alignment colour +opacity used when compositing the manual alignment colour +.sp +Defaults: 1 .RE .PP -\fBchar_difference_alpha\fR +\fBcharacter_difference_opacity\fR .RS 4 -alpha value used when compositing character difference colours +opacity used when compositing character difference colours +.sp +Defaults: 0\&.4 .RE .PP -\fBchar_selection_alpha\fR +\fBcharacter_selection_opacity\fR .RS 4 -alpha value used when compositing the character selection colour +opacity used when compositing the character selection colour +.sp +Defaults: 0\&.4 .RE .PP -\fBline_difference_alpha\fR +\fBedited_opacity\fR .RS 4 -alpha value used when compositing line difference colours +opacity used when compositing the edited line colour +.sp +Defaults: 0\&.4 .RE .PP -\fBline_selection_alpha\fR +\fBline_difference_alpha\fR .RS 4 -alpha value used when compositing the line selection colour +alpha value used when compositing line difference colours +.sp +Defaults: 0\&.3 .RE .PP -\fBmodified_alpha\fR +\fBline_selection_opacity\fR .RS 4 -alpha value used when compositing the modified line colour +opacity used when compositing the line selection colour +.sp +Defaults: 0\&.4 .RE .RE .SS "Syntax Highlighting" @@ -1335,9 +1347,20 @@ \fIpattern\fR\&. .RE .PP -\fBsyntax_pattern \fR\fB\fIname\fR\fR\fB \fR\fB\fIinitial_state\fR\fR\fB \fR\fB\fIfinal_state\fR\fR\fB \fR\fB\fItag\fR\fR\fB \fR\fB\fIpattern\fR\fR\fB \fR\fB[ignorecase]\fR\fB \fR +\fBsyntax_magic \fR\fB\fIname\fR\fR\fB \fR\fB[\fIpattern\fR [ignorecase]]\fR +.RS 4 +Specifies that files with a first line matching +\fIpattern\fR +should be highlighted using the syntax style called +\fIname\fR\&. Patterns used to match files for use with the syntax style called +\fIname\fR +can be removed by omitting +\fIpattern\fR\&. +.RE +.PP +\fBsyntax_pattern \fR\fB\fIname\fR\fR\fB \fR\fB\fIinitial_state\fR\fR\fB \fR\fB\fIfinal_state\fR\fR\fB \fR\fB\fItag\fR\fR\fB \fR\fB\fIpattern\fR\fR\fB \fR\fB[ignorecase]\fR .RS 4 -Adds a pattern to the previously declared syntax style\&. The pattern will only be used to match characters if the state machine is in the state +Adds a pattern to the previously declared syntax style\&. Patterns are tried one at a time in the order they were declared until the first match is found\&. A pattern will only be used to match characters if the state machine is in the state \fIinitial_state\fR\&. The state machine will transition to \fIfinal_state\fR if the pattern defined by @@ -1387,7 +1410,7 @@ \&. .SH "COPYRIGHT" .PP -\(co 2006\-2009 Derrick Moser\&. All Rights Reserved\&. +\(co 2006\-2010 Derrick Moser\&. All Rights Reserved\&. .PP Diffuse is free software; you may redistribute it and/or modify it under the terms of the GNU General Public License diff -Nru diffuse-0.4.1/src/usr/share/omf/diffuse/diffuse-C.omf diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/omf/diffuse/diffuse-C.omf --- diffuse-0.4.1/src/usr/share/omf/diffuse/diffuse-C.omf 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/src/usr/share/omf/diffuse/diffuse-C.omf 2010-04-15 12:53:18.000000000 +0100 @@ -4,8 +4,8 @@ Derrick Moser Derrick Moser Diffuse Manual - 2009-10-12 - + 2010-04-15 + Diffuse is a graphical tool for merging and comparing text files. manual diff -Nru diffuse-0.4.1/translations/de.po diffuse-0.4.3~lffl~lucid~ppa/translations/de.po --- diffuse-0.4.1/translations/de.po 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/translations/de.po 2010-04-15 12:53:17.000000000 +0100 @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: diffuse-svn\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-10-05 17:16+0200\n" +"POT-Creation-Date: 2010-04-04 19:41+0200\n" "PO-Revision-Date: \n" "Last-Translator: Henri Menke \n" "Language-Team: German \n" @@ -20,580 +20,588 @@ "X-Poedit-Country: GERMANY\n" "X-Poedit-SourceCharset: utf-8\n" -#: ../src/usr/bin/diffuse:6548 +#: ../src/usr/bin/diffuse:857 +msgid "\"co\" command" +msgstr "\"co\" Befehl" + +#: ../src/usr/bin/diffuse:858 +msgid "\"rlog\" command" +msgstr "\"rlog\" Befehl" + +#: ../src/usr/bin/diffuse:6775 #, python-format msgid "%(title)s Pane %(pane)d" msgstr "%(title)s Ausschnitt %(pane)d" -#: ../src/usr/bin/diffuse:6102 +#: ../src/usr/bin/diffuse:6323 #, python-format msgid "A file named %s already exists. Do you want to overwrite it?" msgstr "Eine Datei mit dem Namen %s existiert bereits. Überschreiben?" -#: ../src/usr/bin/diffuse:3679 +#: ../src/usr/bin/diffuse:3921 msgid "Align with Selection" msgstr "Ausrichten an der Auswahl" -#: ../src/usr/bin/diffuse:774 +#: ../src/usr/bin/diffuse:801 msgid "Alignment" msgstr "Ausrichtung" -#: ../src/usr/bin/diffuse:791 +#: ../src/usr/bin/diffuse:818 msgid "Always show the tab bar" msgstr "Reiter-Leiste immer anzeigen" -#: ../src/usr/bin/diffuse:5544 +#: ../src/usr/bin/diffuse:5798 msgid "Auto Detect" msgstr "Automatische Erkennung" -#: ../src/usr/bin/diffuse:786 +#: ../src/usr/bin/diffuse:813 msgid "Auto indent" msgstr "Automatischer Einzug" -#: ../src/usr/bin/diffuse:6343 +#: ../src/usr/bin/diffuse:6565 msgid "C_lear Edits" msgstr "Alle _Änderungen rückgängig" -#: ../src/usr/bin/diffuse:6792 +#: ../src/usr/bin/diffuse:7030 msgid "Choose Folder With Modified Files" msgstr "Ordner mit bearbeiteten Dateien auswählen" -#: ../src/usr/bin/diffuse:3688 -#: ../src/usr/bin/diffuse:6438 +#: ../src/usr/bin/diffuse:3930 +#: ../src/usr/bin/diffuse:6665 msgid "Clear Edits" msgstr "Alle Änderungen rückgängig" -#: ../src/usr/bin/diffuse:5657 +#: ../src/usr/bin/diffuse:5909 msgid "Close Tab" msgstr "Reiter schließen" -#: ../src/usr/bin/diffuse:6557 +#: ../src/usr/bin/diffuse:6784 msgid "Close _Without Saving" msgstr "Ohne speichern schließen" -#: ../src/usr/bin/diffuse:5522 +#: ../src/usr/bin/diffuse:5776 #, python-format msgid "Closing this tab will quit %s." msgstr "Schließen des letzten Tabs beendet %s." -#: ../src/usr/bin/diffuse:5806 +#: ../src/usr/bin/diffuse:6027 #, python-format msgid "Column %d" msgstr "Spalte %d" -#: ../src/usr/bin/diffuse:827 +#: ../src/usr/bin/diffuse:860 msgid "Command" msgstr "Befehl" -#: ../src/usr/bin/diffuse:6387 +#: ../src/usr/bin/diffuse:6609 msgid "Convert Leading Spaces To _Tabs" msgstr "Vorangestellte Leerzeichen in _Tabulatoren konvertieren" -#: ../src/usr/bin/diffuse:6386 +#: ../src/usr/bin/diffuse:6608 msgid "Convert Tabs To _Spaces" msgstr "Tabulatoren in Leer_zeichen konvertieren" -#: ../src/usr/bin/diffuse:6394 +#: ../src/usr/bin/diffuse:6616 msgid "Convert To Uni_x Format" msgstr "Ins Uni_x Format konvertieren" -#: ../src/usr/bin/diffuse:6392 +#: ../src/usr/bin/diffuse:6614 msgid "Convert To _DOS Format" msgstr "Ins _DOS Format konvertieren" -#: ../src/usr/bin/diffuse:6380 +#: ../src/usr/bin/diffuse:6602 msgid "Convert To _Lower Case" msgstr "In K_leinbuchstaben konvertieren" -#: ../src/usr/bin/diffuse:6393 +#: ../src/usr/bin/diffuse:6615 msgid "Convert To _Mac Format" msgstr "Ins _Mac Format konvertieren" -#: ../src/usr/bin/diffuse:6379 +#: ../src/usr/bin/diffuse:6601 msgid "Convert To _Upper Case" msgstr "In Großb_uchstaben konvertieren" -#: ../src/usr/bin/diffuse:3684 -#: ../src/usr/bin/diffuse:6436 +#: ../src/usr/bin/diffuse:3926 +#: ../src/usr/bin/diffuse:6663 msgid "Copy" msgstr "Kopieren" -#: ../src/usr/bin/diffuse:6428 +#: ../src/usr/bin/diffuse:6655 msgid "Copy Left Into Selection" msgstr "Von links in die Auswahl kopieren" -#: ../src/usr/bin/diffuse:6400 +#: ../src/usr/bin/diffuse:6622 msgid "Copy Left _Into Selection" msgstr "Von links _in die Auswahl kopieren" -#: ../src/usr/bin/diffuse:6401 +#: ../src/usr/bin/diffuse:6623 msgid "Copy Right I_nto Selection" msgstr "Von rechts i_n die Auswahl kopieren" -#: ../src/usr/bin/diffuse:6429 +#: ../src/usr/bin/diffuse:6656 msgid "Copy Right Into Selection" msgstr "Von rechts in die Auswahl kopieren" -#: ../src/usr/bin/diffuse:6427 +#: ../src/usr/bin/diffuse:6654 msgid "Copy Selection Left" msgstr "Auswahl nach links kopieren" -#: ../src/usr/bin/diffuse:6426 +#: ../src/usr/bin/diffuse:6653 msgid "Copy Selection Right" msgstr "Auswahl nach rechts kopieren" -#: ../src/usr/bin/diffuse:6398 +#: ../src/usr/bin/diffuse:6620 msgid "Copy Selection _Left" msgstr "Auswahl nach _links kopieren" -#: ../src/usr/bin/diffuse:6397 +#: ../src/usr/bin/diffuse:6619 msgid "Copy Selection _Right" msgstr "Auswahl nach _rechts kopieren" #: ../src/usr/bin/diffuse:67 -msgid "Copyright © 2006-2009 Derrick Moser" -msgstr "Copyright © 2006-2009 Derrick Moser" +msgid "Copyright © 2006-2010 Derrick Moser" +msgstr "Copyright © 2006-2010 Derrick Moser" -#: ../src/usr/bin/diffuse:6338 +#: ../src/usr/bin/diffuse:6560 msgid "Cu_t" msgstr "_Ausschneiden" -#: ../src/usr/bin/diffuse:3683 -#: ../src/usr/bin/diffuse:6435 +#: ../src/usr/bin/diffuse:3925 +#: ../src/usr/bin/diffuse:6662 msgid "Cut" msgstr "Ausschneiden" -#: ../src/usr/bin/diffuse:810 +#: ../src/usr/bin/diffuse:837 msgid "Cygdrive prefix" msgstr "Cygdrive Präfix" -#: ../src/usr/bin/diffuse:807 +#: ../src/usr/bin/diffuse:834 msgid "Cygwin" msgstr "Cygwin" -#: ../src/usr/bin/diffuse:6390 +#: ../src/usr/bin/diffuse:6612 msgid "De_crease Indenting" msgstr "Einzug _vermindern" -#: ../src/usr/bin/diffuse:790 +#: ../src/usr/bin/diffuse:817 msgid "Default panes" msgstr "Standard Ausschnitte" -#: ../src/usr/bin/diffuse:828 +#: ../src/usr/bin/diffuse:861 msgid "Default revision" msgstr "Standard Revision" -#: ../src/usr/bin/diffuse:5617 +#: ../src/usr/bin/diffuse:5871 msgid "Derrick Moser " msgstr "Derrick Moser " -#: ../src/usr/bin/diffuse:5614 +#: ../src/usr/bin/diffuse:5868 msgid "Diffuse is a graphical tool for merging and comparing text files." msgstr "Diffuse ist ein graphisches Werzeug zum Mischen und Vergleichen von Textdateien." -#: ../src/usr/bin/diffuse:762 +#: ../src/usr/bin/diffuse:789 msgid "Display" msgstr "Anzeige" -#: ../src/usr/bin/diffuse:782 +#: ../src/usr/bin/diffuse:809 msgid "Editor" msgstr "Editor" -#: ../src/usr/bin/diffuse:5534 +#: ../src/usr/bin/diffuse:5788 msgid "Encoding: " msgstr "Kodierung: " -#: ../src/usr/bin/diffuse:6148 +#: ../src/usr/bin/diffuse:6370 #, python-format msgid "Error encoding to %s." msgstr "Fehler bei der Kodierung nach %s." -#: ../src/usr/bin/diffuse:1774 +#: ../src/usr/bin/diffuse:1932 #, python-format msgid "Error parsing %s." msgstr "Fehler bei der Analyse %s." -#: ../src/usr/bin/diffuse:6190 +#: ../src/usr/bin/diffuse:6412 msgid "Error parsing line number." msgstr "Fehler bei der Analyse der Zeilennummer." -#: ../src/usr/bin/diffuse:7086 +#: ../src/usr/bin/diffuse:7327 #, python-format msgid "Error parsing revision %s." msgstr "Fehler bei der Analyse der Revision %s." -#: ../src/usr/bin/diffuse:7150 +#: ../src/usr/bin/diffuse:7391 #, python-format msgid "Error processing argument \"%s\". Directory not expected." msgstr "Fehler beim Verarbeiten des Arguments \"%s\". Unerwartetes Verzeichnis." -#: ../src/usr/bin/diffuse:679 +#: ../src/usr/bin/diffuse:706 #, python-format msgid "Error processing line %(line)d of %(file)s." msgstr "Fehler bei der Analyse der Zeilen %(line)d von %(file)s." -#: ../src/usr/bin/diffuse:5996 -#: ../src/usr/bin/diffuse:7058 +#: ../src/usr/bin/diffuse:6217 +#: ../src/usr/bin/diffuse:7299 #, python-format msgid "Error reading %s." msgstr "Fehler beim Lesen von %s." -#: ../src/usr/bin/diffuse:5994 +#: ../src/usr/bin/diffuse:6215 #, python-format msgid "Error reading revision %(rev)s of %(file)s." msgstr "Fehler beim lesen der Revision %(rev)s von %(file)s." -#: ../src/usr/bin/diffuse:6743 +#: ../src/usr/bin/diffuse:6981 #, python-format msgid "Error retrieving modifications for %s." msgstr "Fehler beim Empfangen der Bearbeitungen von %s." -#: ../src/usr/bin/diffuse:912 -#: ../src/usr/bin/diffuse:6152 +#: ../src/usr/bin/diffuse:944 +#: ../src/usr/bin/diffuse:6374 #, python-format msgid "Error writing %s." msgstr "Fehler beim Schreiben von %s." -#: ../src/usr/bin/diffuse:785 +#: ../src/usr/bin/diffuse:812 msgid "Expand tabs to spaces" msgstr "Tabulatoren zu Leerzeichen erweitern" -#: ../src/usr/bin/diffuse:6378 +#: ../src/usr/bin/diffuse:6600 msgid "F_ormat" msgstr "F_ormat" -#: ../src/usr/bin/diffuse:6653 +#: ../src/usr/bin/diffuse:6891 #, python-format msgid "File Merge %d" msgstr "Dateien mischen %d" -#: ../src/usr/bin/diffuse:6348 +#: ../src/usr/bin/diffuse:6570 msgid "Find Pre_vious" msgstr "_Rückwärts suchen" -#: ../src/usr/bin/diffuse:6347 +#: ../src/usr/bin/diffuse:6569 msgid "Find _Next" msgstr "_Nächstes suchen" -#: ../src/usr/bin/diffuse:5472 +#: ../src/usr/bin/diffuse:5726 msgid "Find..." msgstr "Suchen..." -#: ../src/usr/bin/diffuse:6421 +#: ../src/usr/bin/diffuse:6648 msgid "First Difference" msgstr "Erster Unterschied" -#: ../src/usr/bin/diffuse:764 +#: ../src/usr/bin/diffuse:791 msgid "Font" msgstr "Schriftart" -#: ../src/usr/bin/diffuse:5577 +#: ../src/usr/bin/diffuse:5831 msgid "Go To Line..." msgstr "Gehe zu Zeile..." -#: ../src/usr/bin/diffuse:770 +#: ../src/usr/bin/diffuse:797 msgid "Ignore blank line differences" msgstr "Unterschiede bei leeren Zeilen ignorieren" -#: ../src/usr/bin/diffuse:778 +#: ../src/usr/bin/diffuse:805 msgid "Ignore blank lines" msgstr "Leere Zeilen ignorieren" -#: ../src/usr/bin/diffuse:780 +#: ../src/usr/bin/diffuse:807 msgid "Ignore case" msgstr "Groß- und Kleinschreibung ignorieren" -#: ../src/usr/bin/diffuse:771 +#: ../src/usr/bin/diffuse:798 msgid "Ignore case differences" msgstr "Unterschiede bei Groß- und Kleinschreibung ignorieren" -#: ../src/usr/bin/diffuse:769 -#: ../src/usr/bin/diffuse:777 +#: ../src/usr/bin/diffuse:796 +#: ../src/usr/bin/diffuse:804 msgid "Ignore changes to white space" msgstr "Änderungen an Leerzeichen ignorieren" -#: ../src/usr/bin/diffuse:779 +#: ../src/usr/bin/diffuse:806 msgid "Ignore end of line characters" msgstr "Zeilenumbrüche ignorieren" -#: ../src/usr/bin/diffuse:772 +#: ../src/usr/bin/diffuse:799 msgid "Ignore end of line differences" msgstr "Unterschiede bei Zeilenumbrüchen ignorieren" -#: ../src/usr/bin/diffuse:776 +#: ../src/usr/bin/diffuse:803 msgid "Ignore white space" msgstr "Leerzeichen ignorieren" -#: ../src/usr/bin/diffuse:768 +#: ../src/usr/bin/diffuse:795 msgid "Ignore white space differences" msgstr "Unterschiede bei Leerzeichen ignorieren" -#: ../src/usr/bin/diffuse:3680 +#: ../src/usr/bin/diffuse:3922 msgid "Isolate" msgstr "Isolieren" -#: ../src/usr/bin/diffuse:6424 +#: ../src/usr/bin/diffuse:6651 msgid "Last Difference" msgstr "Letzter Unterschied" -#: ../src/usr/bin/diffuse:831 +#: ../src/usr/bin/diffuse:863 msgid "Launch from a Bash login shell" msgstr "Aus einer Bash login shell starten" -#: ../src/usr/bin/diffuse:5583 +#: ../src/usr/bin/diffuse:5837 msgid "Line Number: " msgstr "Zeilennummer: " -#: ../src/usr/bin/diffuse:6403 +#: ../src/usr/bin/diffuse:6625 msgid "M_erge From Right Then Left" msgstr "Mischen von rechts, dann von links" -#: ../src/usr/bin/diffuse:5503 +#: ../src/usr/bin/diffuse:5757 msgid "Match Case" msgstr "Übereinstimmen von Groß- und Kleinschreibung" -#: ../src/usr/bin/diffuse:6430 +#: ../src/usr/bin/diffuse:6657 msgid "Merge From Left Then Right" msgstr "Mischen von links, dann von rechts" -#: ../src/usr/bin/diffuse:6431 +#: ../src/usr/bin/diffuse:6658 msgid "Merge From Right Then Left" msgstr "Mischen von rechts, dann von links" -#: ../src/usr/bin/diffuse:3681 +#: ../src/usr/bin/diffuse:3923 msgid "Merge Selection" msgstr "Auswahl mischen" -#: ../src/usr/bin/diffuse:6417 +#: ../src/usr/bin/diffuse:6644 msgid "New 2-Way File Merge" msgstr "Neues 2-Wege-Datei-Mischen" -#: ../src/usr/bin/diffuse:6418 +#: ../src/usr/bin/diffuse:6645 msgid "New 3-Way File Merge" msgstr "Neues 3-Wege-Datei-Mischen" -#: ../src/usr/bin/diffuse:6327 +#: ../src/usr/bin/diffuse:6549 msgid "New _2-Way File Merge" msgstr "Neues _2-Wege-Datei-Mischen" -#: ../src/usr/bin/diffuse:6328 +#: ../src/usr/bin/diffuse:6550 msgid "New _3-Way File Merge" msgstr "Neues _3-Wege-Datei-Mischen" -#: ../src/usr/bin/diffuse:6423 +#: ../src/usr/bin/diffuse:6650 msgid "Next Difference" msgstr "Nächster Unterschied" -#: ../src/usr/bin/diffuse:6373 +#: ../src/usr/bin/diffuse:6595 msgid "Next _Tab" msgstr "N_ächster Reiter" -#: ../src/usr/bin/diffuse:6805 +#: ../src/usr/bin/diffuse:7043 msgid "No modified files found." msgstr "Keine bearbeiteten Dateien gefunden." -#: ../src/usr/bin/diffuse:6353 +#: ../src/usr/bin/diffuse:6575 msgid "None" msgstr "Keine" -#: ../src/usr/bin/diffuse:6019 +#: ../src/usr/bin/diffuse:6240 msgid "Open File" msgstr "Datei öffnen" -#: ../src/usr/bin/diffuse:6776 +#: ../src/usr/bin/diffuse:7014 msgid "Open File In New Tab" msgstr "Datei in neuem Reiter öffnen" -#: ../src/usr/bin/diffuse:6319 +#: ../src/usr/bin/diffuse:6541 msgid "Open File In New _Tab..." msgstr "Datei _in neuem Reiter öffnen..." -#: ../src/usr/bin/diffuse:5729 +#: ../src/usr/bin/diffuse:5950 msgid "Open File..." msgstr "Datei öffnen..." -#: ../src/usr/bin/diffuse:6320 +#: ../src/usr/bin/diffuse:6542 msgid "Open _Modified Files..." msgstr "_Bearbeitete Dateien öffnen..." -#: ../src/usr/bin/diffuse:796 +#: ../src/usr/bin/diffuse:823 msgid "Order of codecs used to identify encoding" msgstr "Reihenfolge der Chiffren um die Kodierung zu erkennen" -#: ../src/usr/bin/diffuse:3685 -#: ../src/usr/bin/diffuse:6437 +#: ../src/usr/bin/diffuse:3927 +#: ../src/usr/bin/diffuse:6664 msgid "Paste" msgstr "Einfügen" -#: ../src/usr/bin/diffuse:6889 +#: ../src/usr/bin/diffuse:7127 msgid "Phrase not found. Continue from the end of the file?" msgstr "Ausdruck nicht gefunden. Am Ende der Datei fortsetzen?" -#: ../src/usr/bin/diffuse:6891 +#: ../src/usr/bin/diffuse:7129 msgid "Phrase not found. Continue from the start of the file?" msgstr "Ausdruck nicht gefunden. Am Anfang der Datei fortsetzen?" -#: ../src/usr/bin/diffuse:6351 +#: ../src/usr/bin/diffuse:6573 msgid "Pr_eferences..." msgstr "_Einstellungen..." -#: ../src/usr/bin/diffuse:6372 +#: ../src/usr/bin/diffuse:6594 msgid "Pre_vious Tab" msgstr "V_origer Reiter" -#: ../src/usr/bin/diffuse:888 +#: ../src/usr/bin/diffuse:920 msgid "Preferences" msgstr "Einstellungen" -#: ../src/usr/bin/diffuse:6213 +#: ../src/usr/bin/diffuse:6435 msgid "Press the enter key or double click to edit. Press the space bar or use the RMB menu to manually align." -msgstr "Enter drücken, oder Doppelklicken zum editieren. Drücken Sie die Leertaste, oder nutzen sie das RMB Menü zum manuellen Ausrichten" +msgstr "Enter drücken, oder Doppelklicken zum editieren. Drücken Sie die Leertaste, oder nutzen sie das RMB Menü zum manuellen Ausrichten." -#: ../src/usr/bin/diffuse:6215 +#: ../src/usr/bin/diffuse:6437 msgid "Press the escape key to finish editing." msgstr "Drücken Sie die Escape Taste um die Bearbeitung zu beenden." -#: ../src/usr/bin/diffuse:6422 +#: ../src/usr/bin/diffuse:6649 msgid "Previous Difference" msgstr "Voriger Unterschied" -#: ../src/usr/bin/diffuse:6364 +#: ../src/usr/bin/diffuse:6586 msgid "Re_align All" msgstr "Alle neu _ausrichten" -#: ../src/usr/bin/diffuse:6420 +#: ../src/usr/bin/diffuse:6647 msgid "Realign All" msgstr "Alle neu ausrichten" -#: ../src/usr/bin/diffuse:6434 +#: ../src/usr/bin/diffuse:6661 msgid "Redo" msgstr "Wiederholen" -#: ../src/usr/bin/diffuse:794 +#: ../src/usr/bin/diffuse:821 msgid "Regional Settings" msgstr "Lokalisierung" -#: ../src/usr/bin/diffuse:5730 +#: ../src/usr/bin/diffuse:5951 msgid "Reload File" msgstr "Datei neu laden" -#: ../src/usr/bin/diffuse:6385 +#: ../src/usr/bin/diffuse:6607 msgid "Remove Trailing _White Space" msgstr "Entferne angehängte _Leerzeichen" -#: ../src/usr/bin/diffuse:5552 +#: ../src/usr/bin/diffuse:5806 msgid "Revision: " msgstr "Revision: " -#: ../src/usr/bin/diffuse:809 +#: ../src/usr/bin/diffuse:836 msgid "Root directory" msgstr "Hauptverzeichnis" -#: ../src/usr/bin/diffuse:6085 +#: ../src/usr/bin/diffuse:6306 #, python-format msgid "Save %(title)s Pane %(pane)d" msgstr "Speichern %(title)s Ausschnitt %(pane)d" -#: ../src/usr/bin/diffuse:6325 +#: ../src/usr/bin/diffuse:6547 msgid "Save A_ll" msgstr "_Alle speichern" -#: ../src/usr/bin/diffuse:5731 +#: ../src/usr/bin/diffuse:5952 msgid "Save File" msgstr "Datei speichern" -#: ../src/usr/bin/diffuse:5732 +#: ../src/usr/bin/diffuse:5953 msgid "Save File As..." msgstr "Datei speichern unter..." -#: ../src/usr/bin/diffuse:6324 +#: ../src/usr/bin/diffuse:6546 msgid "Save File _As..." msgstr "Datei speichern _unter..." -#: ../src/usr/bin/diffuse:5871 +#: ../src/usr/bin/diffuse:6092 msgid "Save changes before loading the new file?" msgstr "Änderungen speichern vor dem Laden der neuen Datei?" -#: ../src/usr/bin/diffuse:5508 +#: ../src/usr/bin/diffuse:5762 msgid "Search Backwards" msgstr "Rückwärts suchen" -#: ../src/usr/bin/diffuse:5478 +#: ../src/usr/bin/diffuse:5732 msgid "Search For: " msgstr "Suchen nach: " -#: ../src/usr/bin/diffuse:3687 +#: ../src/usr/bin/diffuse:3929 msgid "Select All" msgstr "Alles auswählen" -#: ../src/usr/bin/diffuse:6342 +#: ../src/usr/bin/diffuse:6564 msgid "Select _All" msgstr "_Alles auswählen" -#: ../src/usr/bin/diffuse:6217 +#: ../src/usr/bin/diffuse:6439 msgid "Select target line and press the space bar to align. Press the escape key to cancel." msgstr "Zeile auswählen und Leertaste drücken zum Ausrichten. Drücken Sie die Escape Taste zum Abbrechen." -#: ../src/usr/bin/diffuse:6376 +#: ../src/usr/bin/diffuse:6598 msgid "Shift Pane _Left" msgstr "Ausschnitt nach _links verschieben" -#: ../src/usr/bin/diffuse:6375 +#: ../src/usr/bin/diffuse:6597 msgid "Shift Pane _Right" msgstr "Ausschnitt nach _rechts verschieben" -#: ../src/usr/bin/diffuse:766 +#: ../src/usr/bin/diffuse:793 msgid "Show line numbers" msgstr "Zeige Zeilennummern" -#: ../src/usr/bin/diffuse:767 +#: ../src/usr/bin/diffuse:794 msgid "Show white space characters" msgstr "Leerzeichen anzeigen" -#: ../src/usr/bin/diffuse:7143 +#: ../src/usr/bin/diffuse:7384 #, python-format msgid "Skipping unknown argument \"%s\"." msgstr "Übergehe unbekannten Parameter \"%s\"." -#: ../src/usr/bin/diffuse:784 +#: ../src/usr/bin/diffuse:811 msgid "Soft tab width" msgstr "Weiche Tabulatorweite" -#: ../src/usr/bin/diffuse:6542 +#: ../src/usr/bin/diffuse:6769 msgid "Some files have unsaved changes. Select the files to save before closing." msgstr "Einige Dateien haben ungespeicherte Änderungen. Wählen Sie die Dateien zum speichern aus, bevor Sie beenden." -#: ../src/usr/bin/diffuse:6383 +#: ../src/usr/bin/diffuse:6605 msgid "Sort Lines In D_escending Order" msgstr "Zeile in abst_eigender Reihenfolge sortieren" -#: ../src/usr/bin/diffuse:6382 +#: ../src/usr/bin/diffuse:6604 msgid "Sort Lines In _Ascending Order" msgstr "Zeile in _aufsteigender Reihenfolge sortieren" -#: ../src/usr/bin/diffuse:3690 +#: ../src/usr/bin/diffuse:3932 msgid "Swap with Selected Pane" msgstr "Mit ausgewähltem Ausschnitt tauschen" -#: ../src/usr/bin/diffuse:765 +#: ../src/usr/bin/diffuse:792 msgid "Tab width" msgstr "Tabulatorweite" -#: ../src/usr/bin/diffuse:788 +#: ../src/usr/bin/diffuse:815 msgid "Tabs" msgstr "Reiter" -#: ../src/usr/bin/diffuse:6065 +#: ../src/usr/bin/diffuse:6286 #, python-format msgid "The file %s changed on disk. Do you want to reload the file?" msgstr "Die Datei %s wurde auf geändert. Wollen Sie die Datei neu laden?" -#: ../src/usr/bin/diffuse:6107 +#: ../src/usr/bin/diffuse:6328 #, python-format msgid "The file %s has been modified by another process since reading it. If you save, all the external changes could be lost. Save anyways?" msgstr "Die Datei %s wurde seit dem letzten Mal von einem anderen Prozess verändert. Wenn Sie speichern werden alle externen Änderungen verloren gehen. Trotzdem Speichern?" -#: ../src/usr/bin/diffuse:5621 +#: ../src/usr/bin/diffuse:5875 msgid "" "This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the licence, or (at your option) any later version.\n" "\n" @@ -607,11 +615,11 @@ "\n" "You should have received a copy of the GNU General Public License along with this program. You may also obtain a copy of the GNU General Public License from the Free Software Foundation by visiting their web site (http://www.fsf.org/) or by writing to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n" -#: ../src/usr/bin/diffuse:6433 +#: ../src/usr/bin/diffuse:6660 msgid "Undo" msgstr "Rückgängig" -#: ../src/usr/bin/diffuse:833 +#: ../src/usr/bin/diffuse:865 msgid "Update paths for Cygwin" msgstr "Pfade für Cygwin aktualisieren" @@ -625,7 +633,7 @@ "able to compare an arbitrary number of files side-by-side and gives users the\n" "ability to manually adjust line matching and directly edit files. Diffuse can\n" "also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial,\n" -"Monotone, Subversion, and SVK repositories for comparison and merging.\n" +"Monotone, RCS, Subversion, and SVK repositories for comparison and merging.\n" "\n" "Help Options:\n" " ( -h | -? | --help ) Display this usage information\n" @@ -659,7 +667,7 @@ "Diffuse ist ein graphisches Werzeug zum Mischen und Vergleichen von Textdateien.\n" "Diffuse ist in der Lage eine beliebige Anzahl von Dateien direkt zu vergleichen und gibt\n" "Nutzern die Möglichkeit manuell die Übereinstimmung anzupassen und Dateien direkt zu bearbeiten.\n" -"Diffuse kann ebenfalls Revisionen von Bazaar, CVS, Darcs, Git und Mercurial, Monotone,\n" +"Diffuse kann ebenfalls Revisionen von Bazaar, CVS, Darcs, Git und Mercurial, Monotone, RCS,\n" "Subversion und SVK Depots empfangen um sie zu Vergleichen und zu Mischen\n" "\n" "Hilfe Optionen:\n" @@ -687,143 +695,144 @@ " ( -i | --ignore-case ) Unterschiede an Groß- und Kleinschreibung ignorieren\n" " ( -w | --ignore-all-space ) Unterschiede an Leerzeichen ignorieren" -#: ../src/usr/bin/diffuse:836 +#: ../src/usr/bin/diffuse:868 msgid "Version Control" msgstr "Versionsverwaltung" -#: ../src/usr/bin/diffuse:792 +#: ../src/usr/bin/diffuse:819 #, python-format msgid "Warn me when closing a tab will quit %s" msgstr "Warnen, wenn schließen des Tabs %s beendet" -#: ../src/usr/bin/diffuse:548 +#: ../src/usr/bin/diffuse:549 #, python-format msgid "Warning: unknown colour \"%s\"" msgstr "Warnung: Unbekannte Farbe \"%s\"" -#: ../src/usr/bin/diffuse:557 +#: ../src/usr/bin/diffuse:558 #, python-format msgid "Warning: unknown float \"%s\"" msgstr "Warnung: Unbekannter Gleitkommawert \"%s\"" -#: ../src/usr/bin/diffuse:566 +#: ../src/usr/bin/diffuse:567 #, python-format msgid "Warning: unknown string \"%s\"" msgstr "Warnung: Unbekannte Zeichenkette \"%s\"" -#: ../src/usr/bin/diffuse:6408 +#: ../src/usr/bin/diffuse:6630 #, python-format msgid "_About %s..." msgstr "_Über %s..." -#: ../src/usr/bin/diffuse:6330 +#: ../src/usr/bin/diffuse:6552 msgid "_Close Tab" msgstr "_Reiter schließen" -#: ../src/usr/bin/diffuse:6339 +#: ../src/usr/bin/diffuse:6561 msgid "_Copy" msgstr "_Kopieren" -#: ../src/usr/bin/diffuse:6344 +#: ../src/usr/bin/diffuse:6566 msgid "_Dismiss All Edits" msgstr "Alle Än_derungen verwerfen" -#: ../src/usr/bin/diffuse:6334 +#: ../src/usr/bin/diffuse:6556 msgid "_Edit" msgstr "_Bearbeiten" -#: ../src/usr/bin/diffuse:6317 +#: ../src/usr/bin/diffuse:6539 msgid "_File" msgstr "_Datei" -#: ../src/usr/bin/diffuse:6346 +#: ../src/usr/bin/diffuse:6568 msgid "_Find..." msgstr "_Suchen..." -#: ../src/usr/bin/diffuse:6367 +#: ../src/usr/bin/diffuse:6589 msgid "_First Difference" msgstr "_Erster Unterschied" -#: ../src/usr/bin/diffuse:6349 +#: ../src/usr/bin/diffuse:6571 msgid "_Go To Line..." msgstr "_Gehe zu Zeile..." -#: ../src/usr/bin/diffuse:6405 +#: ../src/usr/bin/diffuse:6627 msgid "_Help" msgstr "_Hilfe" -#: ../src/usr/bin/diffuse:6406 +#: ../src/usr/bin/diffuse:6628 msgid "_Help Contents..." msgstr "_Inhalt..." -#: ../src/usr/bin/diffuse:6389 +#: ../src/usr/bin/diffuse:6611 msgid "_Increase Indenting" msgstr "Einzug er_höhen" -#: ../src/usr/bin/diffuse:6365 +#: ../src/usr/bin/diffuse:6587 msgid "_Isolate" msgstr "_Isolieren" -#: ../src/usr/bin/diffuse:6370 +#: ../src/usr/bin/diffuse:6592 msgid "_Last Difference" msgstr "_Letzter Unterschied" -#: ../src/usr/bin/diffuse:6396 +#: ../src/usr/bin/diffuse:6618 msgid "_Merge" msgstr "_Mischen" -#: ../src/usr/bin/diffuse:6402 +#: ../src/usr/bin/diffuse:6624 msgid "_Merge From Left Then Right" msgstr "Mischen von links, dann von rechts" -#: ../src/usr/bin/diffuse:6369 +#: ../src/usr/bin/diffuse:6591 msgid "_Next Difference" msgstr "_Nächster Unterschied" -#: ../src/usr/bin/diffuse:6318 +#: ../src/usr/bin/diffuse:6540 msgid "_Open File..." msgstr "Datei _öffnen" -#: ../src/usr/bin/diffuse:6340 +#: ../src/usr/bin/diffuse:6562 msgid "_Paste" msgstr "_Einfügen" -#: ../src/usr/bin/diffuse:6368 +#: ../src/usr/bin/diffuse:6590 msgid "_Previous Difference" msgstr "_Voriger Unterschied" -#: ../src/usr/bin/diffuse:6332 +#: ../src/usr/bin/diffuse:6554 msgid "_Quit" msgstr "_Beenden" -#: ../src/usr/bin/diffuse:6336 +#: ../src/usr/bin/diffuse:6558 msgid "_Redo" msgstr "_Wiederholen" -#: ../src/usr/bin/diffuse:6321 +#: ../src/usr/bin/diffuse:6543 msgid "_Reload File" msgstr "Datei _neu laden" -#: ../src/usr/bin/diffuse:6323 +#: ../src/usr/bin/diffuse:6545 msgid "_Save File" msgstr "Datei _speichern" -#: ../src/usr/bin/diffuse:6362 +#: ../src/usr/bin/diffuse:6584 msgid "_Syntax Highlighting" msgstr "_Syntax Hervorhebung" -#: ../src/usr/bin/diffuse:6335 +#: ../src/usr/bin/diffuse:6557 msgid "_Undo" msgstr "_Rückgängig" -#: ../src/usr/bin/diffuse:6331 +#: ../src/usr/bin/diffuse:6553 msgid "_Undo Close Tab" msgstr "_Reiter schließen rückgängig" -#: ../src/usr/bin/diffuse:6361 +#: ../src/usr/bin/diffuse:6583 msgid "_View" msgstr "_Ansicht" -#: ../src/usr/bin/diffuse:5618 +#: ../src/usr/bin/diffuse:5872 msgid "translator-credits" msgstr "Henri Menke " + diff -Nru diffuse-0.4.1/translations/es.po diffuse-0.4.3~lffl~lucid~ppa/translations/es.po --- diffuse-0.4.1/translations/es.po 1970-01-01 01:00:00.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/translations/es.po 2010-04-15 12:53:17.000000000 +0100 @@ -0,0 +1,842 @@ +# German translations for diffuse package. +# This is an alpha release. +# Copyright (C) 2010 Derrick Moser +# This file is distributed under the same license as the diffuse package. +# Henri Menke , 2010. +# +msgid "" +msgstr "" +"Project-Id-Version: diffuse-svn\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2010-04-04 19:41+0200\n" +"PO-Revision-Date: \n" +"Last-Translator: Henri Menke \n" +"Language-Team: Spanish \n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" + +#: ../src/usr/bin/diffuse:857 +msgid "\"co\" command" +msgstr "Comando \"co\"" + +#: ../src/usr/bin/diffuse:858 +msgid "\"rlog\" command" +msgstr "Comando \"rlog\"" + +#: ../src/usr/bin/diffuse:6775 +#, python-format +msgid "%(title)s Pane %(pane)d" +msgstr "Guardar %(title)s pantalla %(pane)d" + +#: ../src/usr/bin/diffuse:6323 +#, python-format +msgid "A file named %s already exists. Do you want to overwrite it?" +msgstr "Ya existe un archivo llamado %s. ¿Quiere reemplazarlo?" + +#: ../src/usr/bin/diffuse:3921 +msgid "Align with Selection" +msgstr "Alinear en la selección." + +#: ../src/usr/bin/diffuse:801 +msgid "Alignment" +msgstr "Alineamiento" + +#: ../src/usr/bin/diffuse:818 +msgid "Always show the tab bar" +msgstr "Siempre mostrar lista de solapas" + +#: ../src/usr/bin/diffuse:5798 +msgid "Auto Detect" +msgstr "Reconocimiento automático" + +#: ../src/usr/bin/diffuse:813 +msgid "Auto indent" +msgstr "Sangría automática" + +#: ../src/usr/bin/diffuse:6565 +msgid "C_lear Edits" +msgstr "_Deshacer todo" + +#: ../src/usr/bin/diffuse:7030 +msgid "Choose Folder With Modified Files" +msgstr "Seleccionar carpeta con archivos modificados" + +#: ../src/usr/bin/diffuse:3930 +#: ../src/usr/bin/diffuse:6665 +msgid "Clear Edits" +msgstr "Deshacer todo" + +#: ../src/usr/bin/diffuse:5909 +msgid "Close Tab" +msgstr "Cerrar solapa" + +#: ../src/usr/bin/diffuse:6784 +msgid "Close _Without Saving" +msgstr "Cerrar _sin guardar" + +#: ../src/usr/bin/diffuse:5776 +#, python-format +msgid "Closing this tab will quit %s." +msgstr "Cerrar de la ultima solapa acaba %s" + +#: ../src/usr/bin/diffuse:6027 +#, python-format +msgid "Column %d" +msgstr "Columna %d" + +#: ../src/usr/bin/diffuse:860 +msgid "Command" +msgstr "Comando" + +#: ../src/usr/bin/diffuse:6609 +msgid "Convert Leading Spaces To _Tabs" +msgstr "Convertir espacios antepuestos en _tabuladores" + +#: ../src/usr/bin/diffuse:6608 +msgid "Convert Tabs To _Spaces" +msgstr "Convertir tabuladores en e_spacios" + +#: ../src/usr/bin/diffuse:6616 +msgid "Convert To Uni_x Format" +msgstr "Convertir en la formato Uni_x" + +#: ../src/usr/bin/diffuse:6614 +msgid "Convert To _DOS Format" +msgstr "Convertir en la formato _DOS" + +#: ../src/usr/bin/diffuse:6602 +msgid "Convert To _Lower Case" +msgstr "Convertir en letras minúsculas" + +#: ../src/usr/bin/diffuse:6615 +msgid "Convert To _Mac Format" +msgstr "Convertir en la formato _Mac" + +#: ../src/usr/bin/diffuse:6601 +msgid "Convert To _Upper Case" +msgstr "Convertir en letras mayúsculas" + +#: ../src/usr/bin/diffuse:3926 +#: ../src/usr/bin/diffuse:6663 +msgid "Copy" +msgstr "Copiar" + +#: ../src/usr/bin/diffuse:6655 +msgid "Copy Left Into Selection" +msgstr "Copiar de izquierda a la selección" + +#: ../src/usr/bin/diffuse:6622 +msgid "Copy Left _Into Selection" +msgstr "Copiar de _izquierda a la selección" + +#: ../src/usr/bin/diffuse:6623 +msgid "Copy Right I_nto Selection" +msgstr "Copiar de de_recha a la selección" + +#: ../src/usr/bin/diffuse:6656 +msgid "Copy Right Into Selection" +msgstr "Copiar de derecha a la selección" + +#: ../src/usr/bin/diffuse:6654 +msgid "Copy Selection Left" +msgstr "Copiar selección a la izquierda" + +#: ../src/usr/bin/diffuse:6653 +msgid "Copy Selection Right" +msgstr "Copiar selección a la derecha" + +#: ../src/usr/bin/diffuse:6620 +msgid "Copy Selection _Left" +msgstr "Copiar selección a la i_zquierda" + +#: ../src/usr/bin/diffuse:6619 +msgid "Copy Selection _Right" +msgstr "Copiar selección a la de_recha" + +#: ../src/usr/bin/diffuse:67 +msgid "Copyright © 2006-2010 Derrick Moser" +msgstr "Copyright © 2006-2010 Derrick Moser" + +#: ../src/usr/bin/diffuse:6560 +msgid "Cu_t" +msgstr "Cor_tar" + +#: ../src/usr/bin/diffuse:3925 +#: ../src/usr/bin/diffuse:6662 +msgid "Cut" +msgstr "Cortar" + +#: ../src/usr/bin/diffuse:837 +msgid "Cygdrive prefix" +msgstr "Prefijo del Cygdrive" + +#: ../src/usr/bin/diffuse:834 +msgid "Cygwin" +msgstr "Cygwin" + +#: ../src/usr/bin/diffuse:6612 +msgid "De_crease Indenting" +msgstr "Quitar sangría" + +#: ../src/usr/bin/diffuse:817 +msgid "Default panes" +msgstr "Pantalla estándar" + +#: ../src/usr/bin/diffuse:861 +msgid "Default revision" +msgstr "Revisión estándar" + +#: ../src/usr/bin/diffuse:5871 +msgid "Derrick Moser " +msgstr "Derrick Moser " + +#: ../src/usr/bin/diffuse:5868 +msgid "Diffuse is a graphical tool for merging and comparing text files." +msgstr "Diffuse es un utillaje para juntar y comparar archivos de texto." + +#: ../src/usr/bin/diffuse:789 +msgid "Display" +msgstr "Display" + +#: ../src/usr/bin/diffuse:809 +msgid "Editor" +msgstr "Editor" + +#: ../src/usr/bin/diffuse:5788 +msgid "Encoding: " +msgstr "Codificación:" + +#: ../src/usr/bin/diffuse:6370 +#, python-format +msgid "Error encoding to %s." +msgstr "Error codificando a %s." + +#: ../src/usr/bin/diffuse:1932 +#, python-format +msgid "Error parsing %s." +msgstr "Error analizando %s." + +#: ../src/usr/bin/diffuse:6412 +msgid "Error parsing line number." +msgstr "Error analizando número de líneas." + +#: ../src/usr/bin/diffuse:7327 +#, python-format +msgid "Error parsing revision %s." +msgstr "Error analizando revisión %s." + +#: ../src/usr/bin/diffuse:7391 +#, python-format +msgid "Error processing argument \"%s\". Directory not expected." +msgstr "Falla processando parámetro \"%s\". No he esperado a un directorio." + +#: ../src/usr/bin/diffuse:706 +#, python-format +msgid "Error processing line %(line)d of %(file)s." +msgstr "Error analizando líneas %(line)d de %(file)s." + +#: ../src/usr/bin/diffuse:6217 +#: ../src/usr/bin/diffuse:7299 +#, python-format +msgid "Error reading %s." +msgstr "Error leyendo %s." + +#: ../src/usr/bin/diffuse:6215 +#, python-format +msgid "Error reading revision %(rev)s of %(file)s." +msgstr "Error leyendo revisión %(rev)s de %(file)s." + +#: ../src/usr/bin/diffuse:6981 +#, python-format +msgid "Error retrieving modifications for %s." +msgstr "Error recibiendo cambios de %s." + +#: ../src/usr/bin/diffuse:944 +#: ../src/usr/bin/diffuse:6374 +#, python-format +msgid "Error writing %s." +msgstr "Error guardando %s." + +#: ../src/usr/bin/diffuse:812 +msgid "Expand tabs to spaces" +msgstr "Ampliar tabuladores a espacios" + +#: ../src/usr/bin/diffuse:6600 +msgid "F_ormat" +msgstr "F_ormato" + +#: ../src/usr/bin/diffuse:6891 +#, python-format +msgid "File Merge %d" +msgstr "Mezclar archivos %d" + +#: ../src/usr/bin/diffuse:6570 +msgid "Find Pre_vious" +msgstr "Buscar an_terior" + +#: ../src/usr/bin/diffuse:6569 +msgid "Find _Next" +msgstr "Buscar siguie_nte" + +#: ../src/usr/bin/diffuse:5726 +msgid "Find..." +msgstr "Buscar..." + +#: ../src/usr/bin/diffuse:6648 +msgid "First Difference" +msgstr "Diferencía primera" + +#: ../src/usr/bin/diffuse:791 +msgid "Font" +msgstr "Fuente" + +#: ../src/usr/bin/diffuse:5831 +msgid "Go To Line..." +msgstr "Ir a la línea..." + +#: ../src/usr/bin/diffuse:797 +msgid "Ignore blank line differences" +msgstr "Ignorar diferencías de líneas vacías" + +#: ../src/usr/bin/diffuse:805 +msgid "Ignore blank lines" +msgstr "Ignorar líneas vacías" + +#: ../src/usr/bin/diffuse:807 +msgid "Ignore case" +msgstr "Ignorar registro alto y empleo de minúsculas" + +#: ../src/usr/bin/diffuse:798 +msgid "Ignore case differences" +msgstr "Ignorar diferencías de registro alto y empleo de minúsculas" + +#: ../src/usr/bin/diffuse:796 +#: ../src/usr/bin/diffuse:804 +msgid "Ignore changes to white space" +msgstr "Ignorar cambios de espacios" + +#: ../src/usr/bin/diffuse:806 +msgid "Ignore end of line characters" +msgstr "Ignorar revoluciónes de líneas" + +#: ../src/usr/bin/diffuse:799 +msgid "Ignore end of line differences" +msgstr "Ignorar diferencías de revoluciónes de líneas" + +#: ../src/usr/bin/diffuse:803 +msgid "Ignore white space" +msgstr "Ignorar espacios" + +#: ../src/usr/bin/diffuse:795 +msgid "Ignore white space differences" +msgstr "Ignorar diferencías de espacios" + +#: ../src/usr/bin/diffuse:3922 +msgid "Isolate" +msgstr "Aislar" + +#: ../src/usr/bin/diffuse:6651 +msgid "Last Difference" +msgstr "Diferencía ultima" + +#: ../src/usr/bin/diffuse:863 +msgid "Launch from a Bash login shell" +msgstr "Ejecutar de una Bash login shell" + +#: ../src/usr/bin/diffuse:5837 +msgid "Line Number: " +msgstr "Número de líneas: " + +#: ../src/usr/bin/diffuse:6625 +msgid "M_erge From Right Then Left" +msgstr "Juntar del d_erecho, después de la izquierda" + +#: ../src/usr/bin/diffuse:5757 +msgid "Match Case" +msgstr "Concordancia del registro alto y empleo de minúsculas." + +#: ../src/usr/bin/diffuse:6657 +msgid "Merge From Left Then Right" +msgstr "Juntar de la izquierda, después del derecho" + +#: ../src/usr/bin/diffuse:6658 +msgid "Merge From Right Then Left" +msgstr "Juntar del derecho, después de la izquierda" + +#: ../src/usr/bin/diffuse:3923 +msgid "Merge Selection" +msgstr "Juntar selección" + +#: ../src/usr/bin/diffuse:6644 +msgid "New 2-Way File Merge" +msgstr "Nuevo juntar en 2 direcciónes" + +#: ../src/usr/bin/diffuse:6645 +msgid "New 3-Way File Merge" +msgstr "Nuevo juntar en 3 direcciónes" + +#: ../src/usr/bin/diffuse:6549 +msgid "New _2-Way File Merge" +msgstr "Nuevo juntar en _2 direcciónes" + +#: ../src/usr/bin/diffuse:6550 +msgid "New _3-Way File Merge" +msgstr "Nuevo juntar en _3 direcciónes" + +#: ../src/usr/bin/diffuse:6650 +msgid "Next Difference" +msgstr "Diferencía próxima" + +#: ../src/usr/bin/diffuse:6595 +msgid "Next _Tab" +msgstr "Solapa próxima" + +#: ../src/usr/bin/diffuse:7043 +msgid "No modified files found." +msgstr "No archivos modificados encontrado." + +#: ../src/usr/bin/diffuse:6575 +msgid "None" +msgstr "Ningún" + +#: ../src/usr/bin/diffuse:6240 +msgid "Open File" +msgstr "Abrir archivo" + +#: ../src/usr/bin/diffuse:7014 +msgid "Open File In New Tab" +msgstr "Abrir archivo en solapa nueva" + +#: ../src/usr/bin/diffuse:6541 +msgid "Open File In New _Tab..." +msgstr "Abrir archivo en _solapa nueva..." + +#: ../src/usr/bin/diffuse:5950 +msgid "Open File..." +msgstr "Abrir archivo..." + +#: ../src/usr/bin/diffuse:6542 +msgid "Open _Modified Files..." +msgstr "Abrir archivos _modificados" + +#: ../src/usr/bin/diffuse:823 +msgid "Order of codecs used to identify encoding" +msgstr "Reihenfolge der Chiffren um die Kodierung zu erkennen" + +#: ../src/usr/bin/diffuse:3927 +#: ../src/usr/bin/diffuse:6664 +msgid "Paste" +msgstr "Pegar" + +#: ../src/usr/bin/diffuse:7127 +msgid "Phrase not found. Continue from the end of the file?" +msgstr "Listado no encontrado. Continuar al final del archivo?" + +#: ../src/usr/bin/diffuse:7129 +msgid "Phrase not found. Continue from the start of the file?" +msgstr "Listado no encontrado. Continuar al principio del archivo?" + +#: ../src/usr/bin/diffuse:6573 +msgid "Pr_eferences..." +msgstr "Pr_eferencias..." + +#: ../src/usr/bin/diffuse:6594 +msgid "Pre_vious Tab" +msgstr "Solapa pre_via" + +#: ../src/usr/bin/diffuse:920 +msgid "Preferences" +msgstr "Preferencias" + +#: ../src/usr/bin/diffuse:6435 +msgid "Press the enter key or double click to edit. Press the space bar or use the RMB menu to manually align." +msgstr "Pulse Enter o clic dos veces para editar. Pulse espacidor o use el menú RMB para sangría manual." + +#: ../src/usr/bin/diffuse:6437 +msgid "Press the escape key to finish editing." +msgstr "Pulse Escape para finalizar editar" + +#: ../src/usr/bin/diffuse:6649 +msgid "Previous Difference" +msgstr "Diferencía previa" + +#: ../src/usr/bin/diffuse:6586 +msgid "Re_align All" +msgstr "S_angrar todo de nuevo" + +#: ../src/usr/bin/diffuse:6647 +msgid "Realign All" +msgstr "Sangrar todo de nuevo" + +#: ../src/usr/bin/diffuse:6661 +msgid "Redo" +msgstr "Rehacer" + +#: ../src/usr/bin/diffuse:821 +msgid "Regional Settings" +msgstr "Localisación" + +#: ../src/usr/bin/diffuse:5951 +msgid "Reload File" +msgstr "Revertir" + +#: ../src/usr/bin/diffuse:6607 +msgid "Remove Trailing _White Space" +msgstr "Quitar espacios adjuntos" + +#: ../src/usr/bin/diffuse:5806 +msgid "Revision: " +msgstr "Revision: " + +#: ../src/usr/bin/diffuse:836 +msgid "Root directory" +msgstr "Sistema de archivos" + +#: ../src/usr/bin/diffuse:6306 +#, python-format +msgid "Save %(title)s Pane %(pane)d" +msgstr "Save %(title)s Pane %(pane)d" + +#: ../src/usr/bin/diffuse:6547 +msgid "Save A_ll" +msgstr "Gu_ardar todos" + +#: ../src/usr/bin/diffuse:5952 +msgid "Save File" +msgstr "Guardar archivo" + +#: ../src/usr/bin/diffuse:5953 +msgid "Save File As..." +msgstr "Guardar archivo como..." + +#: ../src/usr/bin/diffuse:6546 +msgid "Save File _As..." +msgstr "Guardar _archivo como..." + +#: ../src/usr/bin/diffuse:6092 +msgid "Save changes before loading the new file?" +msgstr "¿Guardar cambios antes de abrir un archivo nuevo?" + +#: ../src/usr/bin/diffuse:5762 +msgid "Search Backwards" +msgstr "Buscar atrás" + +#: ../src/usr/bin/diffuse:5732 +msgid "Search For: " +msgstr "Buscar a: " + +#: ../src/usr/bin/diffuse:3929 +msgid "Select All" +msgstr "Seleccionar todo" + +#: ../src/usr/bin/diffuse:6564 +msgid "Select _All" +msgstr "Seleccion_ar todo" + +#: ../src/usr/bin/diffuse:6439 +msgid "Select target line and press the space bar to align. Press the escape key to cancel." +msgstr "Selecciona la línea y aprieta el espaciador para alinear. Aprieta escape para cancelar." + +#: ../src/usr/bin/diffuse:6598 +msgid "Shift Pane _Left" +msgstr "Mover pantalla a _la izquierda" + +#: ../src/usr/bin/diffuse:6597 +msgid "Shift Pane _Right" +msgstr "Mover pantalla a la de_recha" + +#: ../src/usr/bin/diffuse:793 +msgid "Show line numbers" +msgstr "Mostrar número de líneas" + +#: ../src/usr/bin/diffuse:794 +msgid "Show white space characters" +msgstr "Mostrar espacios" + +#: ../src/usr/bin/diffuse:7384 +#, python-format +msgid "Skipping unknown argument \"%s\"." +msgstr "Omitiendo argumento desconocido \"%s\"." + +#: ../src/usr/bin/diffuse:811 +msgid "Soft tab width" +msgstr "Tabuladores blandos" + +#: ../src/usr/bin/diffuse:6769 +msgid "Some files have unsaved changes. Select the files to save before closing." +msgstr "Unos archivos tienen cambios. Elige los archivos para guardar antes de salir." + +#: ../src/usr/bin/diffuse:6605 +msgid "Sort Lines In D_escending Order" +msgstr "Ordenar lineas in orden descendente" + +#: ../src/usr/bin/diffuse:6604 +msgid "Sort Lines In _Ascending Order" +msgstr "Ordenar lineas in orden ascendente" + +#: ../src/usr/bin/diffuse:3932 +msgid "Swap with Selected Pane" +msgstr "Canjear con pantalla seleccionada" + +#: ../src/usr/bin/diffuse:792 +msgid "Tab width" +msgstr "Amplitud de tabulador" + +#: ../src/usr/bin/diffuse:815 +msgid "Tabs" +msgstr "Solapas" + +#: ../src/usr/bin/diffuse:6286 +#, python-format +msgid "The file %s changed on disk. Do you want to reload the file?" +msgstr "El archivo %s ha cambiado. Quieres recargar?" + +#: ../src/usr/bin/diffuse:6328 +#, python-format +msgid "The file %s has been modified by another process since reading it. If you save, all the external changes could be lost. Save anyways?" +msgstr "El archivo %s ha cambiado por otro proceso. Sí guardas todos los cambios externos son rechazados. Guardar sin embargo?" + +#: ../src/usr/bin/diffuse:5875 +msgid "" +"This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the licence, or (at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License along with this program. You may also obtain a copy of the GNU General Public License from the Free Software Foundation by visiting their web site (http://www.fsf.org/) or by writing to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n" +msgstr "" +"This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the licence, or (at your option) any later version.\n" +"\n" +"This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.\n" +"\n" +"You should have received a copy of the GNU General Public License along with this program. You may also obtain a copy of the GNU General Public License from the Free Software Foundation by visiting their web site (http://www.fsf.org/) or by writing to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA\n" + +#: ../src/usr/bin/diffuse:6660 +msgid "Undo" +msgstr "Deshacer" + +#: ../src/usr/bin/diffuse:865 +msgid "Update paths for Cygwin" +msgstr "Actualizar caminos para Cygwin" + +#: ../src/usr/bin/diffuse:78 +msgid "" +"Usage:\n" +" diffuse [ [OPTION...] [FILE...] ]...\n" +" diffuse ( -h | -? | --help | -v | --version )\n" +"\n" +"Diffuse is a graphical tool for merging and comparing text files. Diffuse is\n" +"able to compare an arbitrary number of files side-by-side and gives users the\n" +"ability to manually adjust line matching and directly edit files. Diffuse can\n" +"also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial,\n" +"Monotone, RCS, Subversion, and SVK repositories for comparison and merging.\n" +"\n" +"Help Options:\n" +" ( -h | -? | --help ) Display this usage information\n" +" ( -v | --version ) Display version and copyright information\n" +"\n" +"Configuration Options:\n" +" --no-rcfile Do not read any resource files\n" +" --rcfile Specify explicit resource file\n" +"\n" +"General Options:\n" +" ( -c | --commit ) File revisions and \n" +" ( -D | --close-if-same ) Close all tabs with no differences\n" +" ( -e | --encoding ) Use to read and write files\n" +" ( -m | --modified ) Create a new tab for each modified file\n" +" ( -r | --revision ) File revision \n" +" ( -s | --separate ) Create a new tab for each file\n" +" ( -t | --tab ) Start a new tab\n" +" --null-file Create a blank file comparison pane\n" +"\n" +"Display Options:\n" +" ( -b | --ignore-space-change ) Ignore changes to white space\n" +" ( -B | --ignore-blank-lines ) Ignore changes in blank lines\n" +" ( -E | --ignore-end-of-line ) Ignore end of line differences\n" +" ( -i | --ignore-case ) Ignore case differences\n" +" ( -w | --ignore-all-space ) Ignore white space differences" +msgstr "" +"Usage:\n" +" diffuse [ [OPTION...] [FILE...] ]...\n" +" diffuse ( -h | -? | --help | -v | --version )\n" +"\n" +"Diffuse is a graphical tool for merging and comparing text files. Diffuse is\n" +"able to compare an arbitrary number of files side-by-side and gives users the\n" +"ability to manually adjust line matching and directly edit files. Diffuse can\n" +"also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial,\n" +"Monotone, RCS, Subversion, and SVK repositories for comparison and merging.\n" +"\n" +"Help Options:\n" +" ( -h | -? | --help ) Display this usage information\n" +" ( -v | --version ) Display version and copyright information\n" +"\n" +"Configuration Options:\n" +" --no-rcfile Do not read any resource files\n" +" --rcfile Specify explicit resource file\n" +"\n" +"General Options:\n" +" ( -c | --commit ) File revisions and \n" +" ( -D | --close-if-same ) Close all tabs with no differences\n" +" ( -e | --encoding ) Use to read and write files\n" +" ( -m | --modified ) Create a new tab for each modified file\n" +" ( -r | --revision ) File revision \n" +" ( -s | --separate ) Create a new tab for each file\n" +" ( -t | --tab ) Start a new tab\n" +" --null-file Create a blank file comparison pane\n" +"\n" +"Display Options:\n" +" ( -b | --ignore-space-change ) Ignore changes to white space\n" +" ( -B | --ignore-blank-lines ) Ignore changes in blank lines\n" +" ( -E | --ignore-end-of-line ) Ignore end of line differences\n" +" ( -i | --ignore-case ) Ignore case differences\n" +" ( -w | --ignore-all-space ) Ignore white space differences" + +#: ../src/usr/bin/diffuse:868 +msgid "Version Control" +msgstr "Control de versión" + +#: ../src/usr/bin/diffuse:819 +#, python-format +msgid "Warn me when closing a tab will quit %s" +msgstr "Avísame sí cerrar la ultima solapa cierres la aplicación %s" + +#: ../src/usr/bin/diffuse:549 +#, python-format +msgid "Warning: unknown colour \"%s\"" +msgstr "Advertencia: color desconocido \"%s\"" + +#: ../src/usr/bin/diffuse:558 +#, python-format +msgid "Warning: unknown float \"%s\"" +msgstr "Advertencia: coma flotante desconocido \"%s\"" + +#: ../src/usr/bin/diffuse:567 +#, python-format +msgid "Warning: unknown string \"%s\"" +msgstr "Advertencia: frase desconocido \"%s\"" + +#: ../src/usr/bin/diffuse:6630 +#, python-format +msgid "_About %s..." +msgstr "_Acerca de %s..." + +#: ../src/usr/bin/diffuse:6552 +msgid "_Close Tab" +msgstr "_cerrar solapa" + +#: ../src/usr/bin/diffuse:6561 +msgid "_Copy" +msgstr "_Copiar" + +#: ../src/usr/bin/diffuse:6566 +msgid "_Dismiss All Edits" +msgstr "_Deshacer todo" + +#: ../src/usr/bin/diffuse:6556 +msgid "_Edit" +msgstr "_Editar" + +#: ../src/usr/bin/diffuse:6539 +msgid "_File" +msgstr "_Archivo" + +#: ../src/usr/bin/diffuse:6568 +msgid "_Find..." +msgstr "_Buscar..." + +#: ../src/usr/bin/diffuse:6589 +msgid "_First Difference" +msgstr "Primer di_ferencia" + +#: ../src/usr/bin/diffuse:6571 +msgid "_Go To Line..." +msgstr "_Ir a la línea..." + +#: ../src/usr/bin/diffuse:6627 +msgid "_Help" +msgstr "_Ayuda" + +#: ../src/usr/bin/diffuse:6628 +msgid "_Help Contents..." +msgstr "Índ_ice..." + +#: ../src/usr/bin/diffuse:6611 +msgid "_Increase Indenting" +msgstr "Sangr_ía" + +#: ../src/usr/bin/diffuse:6587 +msgid "_Isolate" +msgstr "A_islar" + +#: ../src/usr/bin/diffuse:6592 +msgid "_Last Difference" +msgstr "U_ltima diferencia" + +#: ../src/usr/bin/diffuse:6618 +msgid "_Merge" +msgstr "_Juntar" + +#: ../src/usr/bin/diffuse:6624 +msgid "_Merge From Left Then Right" +msgstr "_Juntar de la izquierda, después del derecho" + +#: ../src/usr/bin/diffuse:6591 +msgid "_Next Difference" +msgstr "Diferencia siguie_nte" + +#: ../src/usr/bin/diffuse:6540 +msgid "_Open File..." +msgstr "Abrir archiv_o" + +#: ../src/usr/bin/diffuse:6562 +msgid "_Paste" +msgstr "_Pegar" + +#: ../src/usr/bin/diffuse:6590 +msgid "_Previous Difference" +msgstr "Diferencia an_terior" + +#: ../src/usr/bin/diffuse:6554 +msgid "_Quit" +msgstr "_Salir" + +#: ../src/usr/bin/diffuse:6558 +msgid "_Redo" +msgstr "_Rehacer" + +#: ../src/usr/bin/diffuse:6543 +msgid "_Reload File" +msgstr "_Recargar" + +#: ../src/usr/bin/diffuse:6545 +msgid "_Save File" +msgstr "_Guardar" + +#: ../src/usr/bin/diffuse:6584 +msgid "_Syntax Highlighting" +msgstr "Acentuación _sintáctico" + +#: ../src/usr/bin/diffuse:6557 +msgid "_Undo" +msgstr "_Deshacer" + +#: ../src/usr/bin/diffuse:6553 +msgid "_Undo Close Tab" +msgstr "_Deshacer cerrar solapa" + +#: ../src/usr/bin/diffuse:6583 +msgid "_View" +msgstr "_Ver" + +#: ../src/usr/bin/diffuse:5872 +msgid "translator-credits" +msgstr "" +"Henri Menke \n" +"Por favor, haga una traducción española mejor porque no soy hablante nativo." + +#~ msgid "Henri Menke (German)" +#~ msgstr "Henri Menke (Deutsch)" +#~ msgid "Unexpected directory %s." +#~ msgstr "Directorio inesperado %s." + diff -Nru diffuse-0.4.1/translations/ja.po diffuse-0.4.3~lffl~lucid~ppa/translations/ja.po --- diffuse-0.4.1/translations/ja.po 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/translations/ja.po 2010-04-15 12:53:17.000000000 +0100 @@ -1,13 +1,13 @@ -# Japanese translations for PACKAGE package. -# Copyright (C) 2009 THE PACKAGE'S COPYRIGHT HOLDER -# This file is distributed under the same license as the PACKAGE package. -# Derrick Moser , 2009. +# Japanese translations for Diffuse package. +# Copyright (C) 2010 Derrick Moser +# This file is distributed under the same license as the Diffuse package. +# Derrick Moser , 2010. # msgid "" msgstr "" -"Project-Id-Version: PACKAGE VERSION\n" +"Project-Id-Version: diffuse-svn r250\n" "Report-Msgid-Bugs-To: \n" -"POT-Creation-Date: 2009-10-11 14:40-0400\n" +"POT-Creation-Date: 2010-04-10 08:00-0400\n" "PO-Revision-Date: 2009-10-04 09:31-0400\n" "Last-Translator: Derrick Moser \n" "Language-Team: Japanese\n" @@ -16,428 +16,437 @@ "Content-Transfer-Encoding: 8bit\n" "Plural-Forms: nplurals=1; plural=0;\n" -#: ../src/usr/bin/diffuse:6548 +#: ../src/usr/bin/diffuse:854 +msgid "\"co\" command" +msgstr "co というコマンド" + +#: ../src/usr/bin/diffuse:855 +msgid "\"rlog\" command" +msgstr "rlog というコマンド" + +#: ../src/usr/bin/diffuse:6822 #, python-format msgid "%(title)s Pane %(pane)d" msgstr "%(title)s の%(pane)d番目の枠" -#: ../src/usr/bin/diffuse:6102 +#: ../src/usr/bin/diffuse:6370 #, python-format msgid "A file named %s already exists. Do you want to overwrite it?" msgstr "%s というファイルは既に存在しています。それを上書きしますか?" -#: ../src/usr/bin/diffuse:3679 +#: ../src/usr/bin/diffuse:3966 msgid "Align with Selection" msgstr "選択と整列" -#: ../src/usr/bin/diffuse:774 +#: ../src/usr/bin/diffuse:799 msgid "Alignment" msgstr "整列" -#: ../src/usr/bin/diffuse:791 +#: ../src/usr/bin/diffuse:816 msgid "Always show the tab bar" msgstr "常にタブバーを表示" -#: ../src/usr/bin/diffuse:5544 +#: ../src/usr/bin/diffuse:5845 msgid "Auto Detect" msgstr "自動検出" -#: ../src/usr/bin/diffuse:786 +#: ../src/usr/bin/diffuse:811 msgid "Auto indent" msgstr "自動インデント" -#: ../src/usr/bin/diffuse:6343 +#: ../src/usr/bin/diffuse:6612 msgid "C_lear Edits" msgstr "編集をクリア(_L)" -#: ../src/usr/bin/diffuse:6792 +#: ../src/usr/bin/diffuse:7081 msgid "Choose Folder With Modified Files" msgstr "変更なったファイルがあるフォルダを選択" -#: ../src/usr/bin/diffuse:3688 ../src/usr/bin/diffuse:6438 +#: ../src/usr/bin/diffuse:3975 ../src/usr/bin/diffuse:6712 msgid "Clear Edits" msgstr "編集をクリア" -#: ../src/usr/bin/diffuse:5657 +#: ../src/usr/bin/diffuse:5956 msgid "Close Tab" msgstr "タブを閉じる" -#: ../src/usr/bin/diffuse:6557 +#: ../src/usr/bin/diffuse:6831 msgid "Close _Without Saving" msgstr "保存せずに閉じる(_W)" -#: ../src/usr/bin/diffuse:5522 +#: ../src/usr/bin/diffuse:5823 #, python-format msgid "Closing this tab will quit %s." msgstr "このタブを閉じると、%sは終了します。" -#: ../src/usr/bin/diffuse:5806 +#: ../src/usr/bin/diffuse:6074 #, python-format msgid "Column %d" msgstr "%d列" -#: ../src/usr/bin/diffuse:827 +#: ../src/usr/bin/diffuse:857 msgid "Command" msgstr "コマンド" -#: ../src/usr/bin/diffuse:6387 +#: ../src/usr/bin/diffuse:6656 msgid "Convert Leading Spaces To _Tabs" msgstr "先頭のスペースをタブに変換(_T)" -#: ../src/usr/bin/diffuse:6386 +#: ../src/usr/bin/diffuse:6655 msgid "Convert Tabs To _Spaces" msgstr "タブをスペースに変換(_S)" -#: ../src/usr/bin/diffuse:6394 +#: ../src/usr/bin/diffuse:6663 msgid "Convert To Uni_x Format" msgstr "Unix 形式に変換(_X)" -#: ../src/usr/bin/diffuse:6392 +#: ../src/usr/bin/diffuse:6661 msgid "Convert To _DOS Format" msgstr "DOS 形式に変換(_D)" -#: ../src/usr/bin/diffuse:6380 +#: ../src/usr/bin/diffuse:6649 msgid "Convert To _Lower Case" msgstr "小文字に変換(_L)" -#: ../src/usr/bin/diffuse:6393 +#: ../src/usr/bin/diffuse:6662 msgid "Convert To _Mac Format" msgstr "Mac 形式に変換(_M)" -#: ../src/usr/bin/diffuse:6379 +#: ../src/usr/bin/diffuse:6648 msgid "Convert To _Upper Case" msgstr "大文字に変換(_U)" -#: ../src/usr/bin/diffuse:3684 ../src/usr/bin/diffuse:6436 +#: ../src/usr/bin/diffuse:3971 ../src/usr/bin/diffuse:6710 msgid "Copy" msgstr "コピー" -#: ../src/usr/bin/diffuse:6428 +#: ../src/usr/bin/diffuse:6702 msgid "Copy Left Into Selection" msgstr "左から選択枠にコピー" -#: ../src/usr/bin/diffuse:6400 +#: ../src/usr/bin/diffuse:6669 msgid "Copy Left _Into Selection" msgstr "左から選択枠にコピー(_I)" -#: ../src/usr/bin/diffuse:6401 +#: ../src/usr/bin/diffuse:6670 msgid "Copy Right I_nto Selection" msgstr "右から選択枠にコピー(_N)" -#: ../src/usr/bin/diffuse:6429 +#: ../src/usr/bin/diffuse:6703 msgid "Copy Right Into Selection" msgstr "右から選択枠にコピー" -#: ../src/usr/bin/diffuse:6427 +#: ../src/usr/bin/diffuse:6701 msgid "Copy Selection Left" msgstr "選択を左にコピー" -#: ../src/usr/bin/diffuse:6426 +#: ../src/usr/bin/diffuse:6700 msgid "Copy Selection Right" msgstr "選択を右にコピー" -#: ../src/usr/bin/diffuse:6398 +#: ../src/usr/bin/diffuse:6667 msgid "Copy Selection _Left" msgstr "選択を左にコピー(_L)" -#: ../src/usr/bin/diffuse:6397 +#: ../src/usr/bin/diffuse:6666 msgid "Copy Selection _Right" msgstr "選択を右にコピー(_R)" #: ../src/usr/bin/diffuse:67 -msgid "Copyright © 2006-2009 Derrick Moser" -msgstr "Copyright © 2006-2009 Derrick Moser" +msgid "Copyright © 2006-2010 Derrick Moser" +msgstr "Copyright © 2006-2010 Derrick Moser" -#: ../src/usr/bin/diffuse:6338 +#: ../src/usr/bin/diffuse:6607 msgid "Cu_t" msgstr "切り取り(_T)" -#: ../src/usr/bin/diffuse:3683 ../src/usr/bin/diffuse:6435 +#: ../src/usr/bin/diffuse:3970 ../src/usr/bin/diffuse:6709 msgid "Cut" msgstr "切り取り" -#: ../src/usr/bin/diffuse:810 +#: ../src/usr/bin/diffuse:834 msgid "Cygdrive prefix" msgstr "Cygdrive 接頭辞" -#: ../src/usr/bin/diffuse:807 +#: ../src/usr/bin/diffuse:831 msgid "Cygwin" msgstr "Cygwin" -#: ../src/usr/bin/diffuse:6390 +#: ../src/usr/bin/diffuse:6659 msgid "De_crease Indenting" msgstr "インデントを減らす(_C)" -#: ../src/usr/bin/diffuse:790 +#: ../src/usr/bin/diffuse:815 msgid "Default panes" msgstr "枠のデフォルトの数" -#: ../src/usr/bin/diffuse:828 +#: ../src/usr/bin/diffuse:858 msgid "Default revision" msgstr "デフォルトのリビジョン" -#: ../src/usr/bin/diffuse:5617 +#: ../src/usr/bin/diffuse:5918 msgid "Derrick Moser " msgstr "Derrick Moser " -#: ../src/usr/bin/diffuse:5614 +#: ../src/usr/bin/diffuse:5915 msgid "Diffuse is a graphical tool for merging and comparing text files." msgstr "" -"Diffuse は、テキストファイルをマージして比較するためのグラフィックツールです。" +"Diffuse は、テキストファイルをマージして比較するためのグラフィックツールで" +"す。" -#: ../src/usr/bin/diffuse:762 +#: ../src/usr/bin/diffuse:787 msgid "Display" msgstr "表示" -#: ../src/usr/bin/diffuse:782 +#: ../src/usr/bin/diffuse:807 msgid "Editor" msgstr "エディタ" -#: ../src/usr/bin/diffuse:5534 +#: ../src/usr/bin/diffuse:5835 msgid "Encoding: " msgstr "エンコーディング: " -#: ../src/usr/bin/diffuse:6148 +#: ../src/usr/bin/diffuse:6417 #, python-format msgid "Error encoding to %s." msgstr "%s に変える際にエラーが生じました。" -#: ../src/usr/bin/diffuse:1774 +#: ../src/usr/bin/diffuse:1929 #, python-format msgid "Error parsing %s." msgstr "%s をパースする際にエラーが生じました。" -#: ../src/usr/bin/diffuse:6190 +#: ../src/usr/bin/diffuse:6459 msgid "Error parsing line number." msgstr "行番号をパースする際にエラーが生じました。" -#: ../src/usr/bin/diffuse:7086 +#: ../src/usr/bin/diffuse:7378 #, python-format msgid "Error parsing revision %s." msgstr "%s というリビジョンをパースする際にエラーが生じました。" -#: ../src/usr/bin/diffuse:7150 +#: ../src/usr/bin/diffuse:7441 #, python-format msgid "Error processing argument \"%s\". Directory not expected." msgstr "" "%s の引数を処理しているときにエラーが生じました。ディレクトリは予測できません" "でした。" -#: ../src/usr/bin/diffuse:679 +#: ../src/usr/bin/diffuse:704 #, python-format msgid "Error processing line %(line)d of %(file)s." msgstr "%(file)s の %(line)d行 を処理しているときにエラーが生じました。" -#: ../src/usr/bin/diffuse:5996 ../src/usr/bin/diffuse:7058 +#: ../src/usr/bin/diffuse:6264 ../src/usr/bin/diffuse:7350 #, python-format msgid "Error reading %s." msgstr "%s を読み込む際にエラーが生じました。" -#: ../src/usr/bin/diffuse:5994 +#: ../src/usr/bin/diffuse:6262 #, python-format msgid "Error reading revision %(rev)s of %(file)s." msgstr "%(file)s の %(rev)s というリビジョンを読み込む際にエラーが生じました。" -#: ../src/usr/bin/diffuse:6743 +#: ../src/usr/bin/diffuse:7032 #, python-format msgid "Error retrieving modifications for %s." msgstr "%s の変更の取得中にエラーが生じました。" -#: ../src/usr/bin/diffuse:912 ../src/usr/bin/diffuse:6152 +#: ../src/usr/bin/diffuse:941 ../src/usr/bin/diffuse:6421 #, python-format msgid "Error writing %s." msgstr "%s へ書き込む際にエラーが生じました。" -#: ../src/usr/bin/diffuse:785 +#: ../src/usr/bin/diffuse:810 msgid "Expand tabs to spaces" msgstr "タブの代わりに空白を挿入" -#: ../src/usr/bin/diffuse:6378 +#: ../src/usr/bin/diffuse:6647 msgid "F_ormat" msgstr "フォーマット(_O)" -#: ../src/usr/bin/diffuse:6653 +#: ../src/usr/bin/diffuse:6939 #, python-format msgid "File Merge %d" msgstr "ファイルマージ%d" -#: ../src/usr/bin/diffuse:6348 +#: ../src/usr/bin/diffuse:6617 msgid "Find Pre_vious" msgstr "前の検索(_V)" -#: ../src/usr/bin/diffuse:6347 +#: ../src/usr/bin/diffuse:6616 msgid "Find _Next" msgstr "次の検索(_N)" -#: ../src/usr/bin/diffuse:5472 +#: ../src/usr/bin/diffuse:5773 msgid "Find..." msgstr "検索..." -#: ../src/usr/bin/diffuse:6421 +#: ../src/usr/bin/diffuse:6695 msgid "First Difference" msgstr "最初の差分" -#: ../src/usr/bin/diffuse:764 +#: ../src/usr/bin/diffuse:789 msgid "Font" msgstr "フォント" -#: ../src/usr/bin/diffuse:5577 +#: ../src/usr/bin/diffuse:5878 msgid "Go To Line..." msgstr "指定行へジャンプ..." -#: ../src/usr/bin/diffuse:770 +#: ../src/usr/bin/diffuse:795 msgid "Ignore blank line differences" msgstr "空白行の違いを無視" -#: ../src/usr/bin/diffuse:778 +#: ../src/usr/bin/diffuse:803 msgid "Ignore blank lines" msgstr "空白行を無視" -#: ../src/usr/bin/diffuse:780 +#: ../src/usr/bin/diffuse:805 msgid "Ignore case" msgstr "大文字小文字を無視" -#: ../src/usr/bin/diffuse:771 +#: ../src/usr/bin/diffuse:796 msgid "Ignore case differences" msgstr "大文字小文字の違いを無視" -#: ../src/usr/bin/diffuse:769 ../src/usr/bin/diffuse:777 +#: ../src/usr/bin/diffuse:794 ../src/usr/bin/diffuse:802 msgid "Ignore changes to white space" msgstr "空白の変更を無視" -#: ../src/usr/bin/diffuse:779 +#: ../src/usr/bin/diffuse:804 msgid "Ignore end of line characters" msgstr "行の最後の文字を無視" -#: ../src/usr/bin/diffuse:772 +#: ../src/usr/bin/diffuse:797 msgid "Ignore end of line differences" msgstr "行の最後の違いを無視" -#: ../src/usr/bin/diffuse:776 +#: ../src/usr/bin/diffuse:801 msgid "Ignore white space" msgstr "空白を無視" -#: ../src/usr/bin/diffuse:768 +#: ../src/usr/bin/diffuse:793 msgid "Ignore white space differences" msgstr "空白の違いを無視" -#: ../src/usr/bin/diffuse:3680 +#: ../src/usr/bin/diffuse:3967 msgid "Isolate" msgstr "分離" -#: ../src/usr/bin/diffuse:6424 +#: ../src/usr/bin/diffuse:6698 msgid "Last Difference" msgstr "最後の差分" -#: ../src/usr/bin/diffuse:831 +#: ../src/usr/bin/diffuse:860 msgid "Launch from a Bash login shell" msgstr "Bashログインシェルから始める" -#: ../src/usr/bin/diffuse:5583 +#: ../src/usr/bin/diffuse:5884 msgid "Line Number: " msgstr "行番号: " -#: ../src/usr/bin/diffuse:6403 +#: ../src/usr/bin/diffuse:6672 msgid "M_erge From Right Then Left" msgstr "右からマージした後、左からマージ(_E)" -#: ../src/usr/bin/diffuse:5503 +#: ../src/usr/bin/diffuse:5804 msgid "Match Case" msgstr "大文字/小文字を区別" -#: ../src/usr/bin/diffuse:6430 +#: ../src/usr/bin/diffuse:6704 msgid "Merge From Left Then Right" msgstr "左からマージした後、右からマージ" -#: ../src/usr/bin/diffuse:6431 +#: ../src/usr/bin/diffuse:6705 msgid "Merge From Right Then Left" msgstr "右からマージした後、左からマージ" -#: ../src/usr/bin/diffuse:3681 +#: ../src/usr/bin/diffuse:3968 msgid "Merge Selection" msgstr "選択をマージ" -#: ../src/usr/bin/diffuse:6417 +#: ../src/usr/bin/diffuse:6691 msgid "New 2-Way File Merge" msgstr "新しい2つのファイルの比較" -#: ../src/usr/bin/diffuse:6418 +#: ../src/usr/bin/diffuse:6692 msgid "New 3-Way File Merge" msgstr "新しい3つのファイルの比較" -#: ../src/usr/bin/diffuse:6327 +#: ../src/usr/bin/diffuse:6596 msgid "New _2-Way File Merge" msgstr "新しい2つのファイルの比較(_2)" -#: ../src/usr/bin/diffuse:6328 +#: ../src/usr/bin/diffuse:6597 msgid "New _3-Way File Merge" msgstr "新しい3つのファイルの比較(_3)" -#: ../src/usr/bin/diffuse:6423 +#: ../src/usr/bin/diffuse:6697 msgid "Next Difference" msgstr "次の差分" -#: ../src/usr/bin/diffuse:6373 +#: ../src/usr/bin/diffuse:6642 msgid "Next _Tab" msgstr "次のタブ(_T)" -#: ../src/usr/bin/diffuse:6805 +#: ../src/usr/bin/diffuse:7094 msgid "No modified files found." msgstr "変更なったファイルが見つかりませんでした。" -#: ../src/usr/bin/diffuse:6353 +#: ../src/usr/bin/diffuse:6622 msgid "None" msgstr "なし" -#: ../src/usr/bin/diffuse:6019 +#: ../src/usr/bin/diffuse:6287 msgid "Open File" msgstr "ファイルを開く" -#: ../src/usr/bin/diffuse:6776 +#: ../src/usr/bin/diffuse:7065 msgid "Open File In New Tab" msgstr "新しいタブにファイルを開く" -#: ../src/usr/bin/diffuse:6319 +#: ../src/usr/bin/diffuse:6588 msgid "Open File In New _Tab..." msgstr "新しいタブにファイルを開く...(_T)" -#: ../src/usr/bin/diffuse:5729 +#: ../src/usr/bin/diffuse:5997 msgid "Open File..." msgstr "ファイルを開く..." -#: ../src/usr/bin/diffuse:6320 +#: ../src/usr/bin/diffuse:6589 msgid "Open _Modified Files..." msgstr "変更のあるファイルを開く...(_M)" -#: ../src/usr/bin/diffuse:796 +#: ../src/usr/bin/diffuse:821 msgid "Order of codecs used to identify encoding" msgstr "エンコーディングを特定するためのコーデックの注文" -#: ../src/usr/bin/diffuse:3685 ../src/usr/bin/diffuse:6437 +#: ../src/usr/bin/diffuse:3972 ../src/usr/bin/diffuse:6711 msgid "Paste" msgstr "貼り付け" -#: ../src/usr/bin/diffuse:6889 +#: ../src/usr/bin/diffuse:7178 msgid "Phrase not found. Continue from the end of the file?" msgstr "文字列が見つかりませんでした。ファイルの終わりから続けますか。" -#: ../src/usr/bin/diffuse:6891 +#: ../src/usr/bin/diffuse:7180 msgid "Phrase not found. Continue from the start of the file?" msgstr "文字列が見つかりませんでした。ファイルの始めから続けますか。" -#: ../src/usr/bin/diffuse:6351 +#: ../src/usr/bin/diffuse:6620 msgid "Pr_eferences..." msgstr "設定...(_E)" -#: ../src/usr/bin/diffuse:6372 +#: ../src/usr/bin/diffuse:6641 msgid "Pre_vious Tab" msgstr "前のタブ(_V)" -#: ../src/usr/bin/diffuse:888 +#: ../src/usr/bin/diffuse:917 msgid "Preferences" msgstr "設定" -#: ../src/usr/bin/diffuse:6213 +#: ../src/usr/bin/diffuse:6482 msgid "" "Press the enter key or double click to edit. Press the space bar or use the " "RMB menu to manually align." @@ -445,88 +454,88 @@ "編集するためにエンターキーを押すか、ダブルクリックします。手動で整列させるた" "めにスペースバーを押すか、RMBを使います。" -#: ../src/usr/bin/diffuse:6215 +#: ../src/usr/bin/diffuse:6484 msgid "Press the escape key to finish editing." msgstr "ESCキーを押して、編集を終了します。" -#: ../src/usr/bin/diffuse:6422 +#: ../src/usr/bin/diffuse:6696 msgid "Previous Difference" msgstr "前の差分" -#: ../src/usr/bin/diffuse:6364 +#: ../src/usr/bin/diffuse:6633 msgid "Re_align All" msgstr "全て再整列(_A)" -#: ../src/usr/bin/diffuse:6420 +#: ../src/usr/bin/diffuse:6694 msgid "Realign All" msgstr "全て再整列" -#: ../src/usr/bin/diffuse:6434 +#: ../src/usr/bin/diffuse:6708 msgid "Redo" msgstr "やり直す" -#: ../src/usr/bin/diffuse:794 +#: ../src/usr/bin/diffuse:819 msgid "Regional Settings" msgstr "地域設定" -#: ../src/usr/bin/diffuse:5730 +#: ../src/usr/bin/diffuse:5998 msgid "Reload File" msgstr "ファイルを再読込み" -#: ../src/usr/bin/diffuse:6385 +#: ../src/usr/bin/diffuse:6654 msgid "Remove Trailing _White Space" msgstr "末尾の空白を削除(_W)" -#: ../src/usr/bin/diffuse:5552 +#: ../src/usr/bin/diffuse:5853 msgid "Revision: " msgstr "リビジョン: " -#: ../src/usr/bin/diffuse:809 +#: ../src/usr/bin/diffuse:833 msgid "Root directory" msgstr "ルートディレクトリ" -#: ../src/usr/bin/diffuse:6085 +#: ../src/usr/bin/diffuse:6353 #, python-format msgid "Save %(title)s Pane %(pane)d" msgstr "%(title)s の%(pane)d番目の枠を保存" -#: ../src/usr/bin/diffuse:6325 +#: ../src/usr/bin/diffuse:6594 msgid "Save A_ll" msgstr "全て保存(_L)" -#: ../src/usr/bin/diffuse:5731 +#: ../src/usr/bin/diffuse:5999 msgid "Save File" msgstr "ファイルを保存" -#: ../src/usr/bin/diffuse:5732 +#: ../src/usr/bin/diffuse:6000 msgid "Save File As..." msgstr "ファイルとして保存..." -#: ../src/usr/bin/diffuse:6324 +#: ../src/usr/bin/diffuse:6593 msgid "Save File _As..." msgstr "ファイルとして保存...(_A)" -#: ../src/usr/bin/diffuse:5871 +#: ../src/usr/bin/diffuse:6139 msgid "Save changes before loading the new file?" msgstr "新しいファイルをロードする前に、変更したデータを保存しますか?" -#: ../src/usr/bin/diffuse:5508 +#: ../src/usr/bin/diffuse:5809 msgid "Search Backwards" msgstr "先頭に向かって検索" -#: ../src/usr/bin/diffuse:5478 +#: ../src/usr/bin/diffuse:5779 msgid "Search For: " msgstr "検索する文字列: " -#: ../src/usr/bin/diffuse:3687 +#: ../src/usr/bin/diffuse:3974 msgid "Select All" msgstr "全て選択" -#: ../src/usr/bin/diffuse:6342 +#: ../src/usr/bin/diffuse:6611 msgid "Select _All" msgstr "全て選択(_A)" -#: ../src/usr/bin/diffuse:6217 +#: ../src/usr/bin/diffuse:6486 msgid "" "Select target line and press the space bar to align. Press the escape key " "to cancel." @@ -534,64 +543,64 @@ "目標行を選択してスペースバーを押すと整列します。取り消す場合は、ESCキーを押し" "ます。" -#: ../src/usr/bin/diffuse:6376 +#: ../src/usr/bin/diffuse:6645 msgid "Shift Pane _Left" msgstr "枠を左に動かす(_L)" -#: ../src/usr/bin/diffuse:6375 +#: ../src/usr/bin/diffuse:6644 msgid "Shift Pane _Right" msgstr "枠を右に動かす(_R)" -#: ../src/usr/bin/diffuse:766 +#: ../src/usr/bin/diffuse:791 msgid "Show line numbers" msgstr "行番号を表示" -#: ../src/usr/bin/diffuse:767 +#: ../src/usr/bin/diffuse:792 msgid "Show white space characters" msgstr "空白文字を表示" -#: ../src/usr/bin/diffuse:7143 +#: ../src/usr/bin/diffuse:7434 #, python-format msgid "Skipping unknown argument \"%s\"." msgstr "未知の引数「%s」を飛ばします。" -#: ../src/usr/bin/diffuse:784 +#: ../src/usr/bin/diffuse:809 msgid "Soft tab width" msgstr "ソフトタブの幅" -#: ../src/usr/bin/diffuse:6542 +#: ../src/usr/bin/diffuse:6816 msgid "" "Some files have unsaved changes. Select the files to save before closing." msgstr "" "変更が保存されていないファイルがあります。終了前に保存するファイルを選択しま" "す。" -#: ../src/usr/bin/diffuse:6383 +#: ../src/usr/bin/diffuse:6652 msgid "Sort Lines In D_escending Order" msgstr "行を降順に並べる(_E)" -#: ../src/usr/bin/diffuse:6382 +#: ../src/usr/bin/diffuse:6651 msgid "Sort Lines In _Ascending Order" msgstr "行を昇順に並べる(_A)" -#: ../src/usr/bin/diffuse:3690 +#: ../src/usr/bin/diffuse:3977 msgid "Swap with Selected Pane" msgstr "選択された枠と交換" -#: ../src/usr/bin/diffuse:765 +#: ../src/usr/bin/diffuse:790 msgid "Tab width" msgstr "タブの幅" -#: ../src/usr/bin/diffuse:788 +#: ../src/usr/bin/diffuse:813 msgid "Tabs" msgstr "タブ" -#: ../src/usr/bin/diffuse:6065 +#: ../src/usr/bin/diffuse:6333 #, python-format msgid "The file %s changed on disk. Do you want to reload the file?" msgstr "ファイル %s が変更されたようです。 そのファイルを再読み込みしますか?" -#: ../src/usr/bin/diffuse:6107 +#: ../src/usr/bin/diffuse:6375 #, python-format msgid "" "The file %s has been modified by another process since reading it. If you " @@ -600,7 +609,7 @@ "ファイル %s は、変更されています。保存する場合は、これらの変更が失われること" "があります。保存しますか?" -#: ../src/usr/bin/diffuse:5621 +#: ../src/usr/bin/diffuse:5922 msgid "" "This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " @@ -632,11 +641,11 @@ "ください(宛先は the Free Software Foundation, Inc., 59 Temple Place, Suite " "330, Boston, MA 02111-1307 USA)。\n" -#: ../src/usr/bin/diffuse:6433 +#: ../src/usr/bin/diffuse:6707 msgid "Undo" msgstr "元に戻す" -#: ../src/usr/bin/diffuse:833 +#: ../src/usr/bin/diffuse:862 msgid "Update paths for Cygwin" msgstr "Cygwin のためにパスを更新" @@ -653,7 +662,7 @@ "ability to manually adjust line matching and directly edit files. Diffuse " "can\n" "also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial,\n" -"Monotone, Subversion, and SVK repositories for comparison and merging.\n" +"Monotone, RCS, Subversion, and SVK repositories for comparison and merging.\n" "\n" "Help Options:\n" " ( -h | -? | --help ) Display this usage information\n" @@ -690,8 +699,8 @@ "任意の数の並行なファイルを比較できます。ユーザは、手動で行を再整列し、\n" "ファイルを直接編集できます。また、Diffuse は比較やマージするためにBazaar、" "CVS、\n" -"Darcs、Git、Mercurial、Monotone、Subversion、および SVK リポジトリからファイ" -"ル\n" +"Darcs、Git、Mercurial、Monotone、RCS、Subversion、および SVK リポジトリから" +"ファイル\n" "リビジョンを取得できます。\n" "\n" "ヘルプオプション:\n" @@ -721,11 +730,11 @@ " ( -i | --ignore-case ) 大文字小文字の違いを無視\n" " ( -w | --ignore-all-space ) 空白の違いを無視" -#: ../src/usr/bin/diffuse:836 +#: ../src/usr/bin/diffuse:865 msgid "Version Control" msgstr "バージョンコントロール" -#: ../src/usr/bin/diffuse:792 +#: ../src/usr/bin/diffuse:817 #, python-format msgid "Warn me when closing a tab will quit %s" msgstr "閉じるとき、タブが %s を終了すると警告" @@ -745,119 +754,119 @@ msgid "Warning: unknown string \"%s\"" msgstr "警告: 未知の文字列「%s」" -#: ../src/usr/bin/diffuse:6408 +#: ../src/usr/bin/diffuse:6677 #, python-format msgid "_About %s..." msgstr "%s について...(_A)" -#: ../src/usr/bin/diffuse:6330 +#: ../src/usr/bin/diffuse:6599 msgid "_Close Tab" msgstr "タブを閉じる(_C)" -#: ../src/usr/bin/diffuse:6339 +#: ../src/usr/bin/diffuse:6608 msgid "_Copy" msgstr "コピー(_C)" -#: ../src/usr/bin/diffuse:6344 +#: ../src/usr/bin/diffuse:6613 msgid "_Dismiss All Edits" msgstr "全ての編集を破棄(_D)" -#: ../src/usr/bin/diffuse:6334 +#: ../src/usr/bin/diffuse:6603 msgid "_Edit" msgstr "編集(_E)" -#: ../src/usr/bin/diffuse:6317 +#: ../src/usr/bin/diffuse:6586 msgid "_File" msgstr "ファイル(_F)" -#: ../src/usr/bin/diffuse:6346 +#: ../src/usr/bin/diffuse:6615 msgid "_Find..." msgstr "検索...(_F)" -#: ../src/usr/bin/diffuse:6367 +#: ../src/usr/bin/diffuse:6636 msgid "_First Difference" msgstr "最初の差分(_F)" -#: ../src/usr/bin/diffuse:6349 +#: ../src/usr/bin/diffuse:6618 msgid "_Go To Line..." msgstr "指定行へジャンプ...(_G)" -#: ../src/usr/bin/diffuse:6405 +#: ../src/usr/bin/diffuse:6674 msgid "_Help" msgstr "ヘルプ(_H)" -#: ../src/usr/bin/diffuse:6406 +#: ../src/usr/bin/diffuse:6675 msgid "_Help Contents..." msgstr "ヘルプの目次...(_H)" -#: ../src/usr/bin/diffuse:6389 +#: ../src/usr/bin/diffuse:6658 msgid "_Increase Indenting" msgstr "インデントを増やす(_I)" -#: ../src/usr/bin/diffuse:6365 +#: ../src/usr/bin/diffuse:6634 msgid "_Isolate" msgstr "分離(_I)" -#: ../src/usr/bin/diffuse:6370 +#: ../src/usr/bin/diffuse:6639 msgid "_Last Difference" msgstr "最後の差分(_L)" -#: ../src/usr/bin/diffuse:6396 +#: ../src/usr/bin/diffuse:6665 msgid "_Merge" msgstr "マージ(_M)" -#: ../src/usr/bin/diffuse:6402 +#: ../src/usr/bin/diffuse:6671 msgid "_Merge From Left Then Right" msgstr "左からマージした後、右からマージ(_M)" -#: ../src/usr/bin/diffuse:6369 +#: ../src/usr/bin/diffuse:6638 msgid "_Next Difference" msgstr "次の差分(_N)" -#: ../src/usr/bin/diffuse:6318 +#: ../src/usr/bin/diffuse:6587 msgid "_Open File..." msgstr "ファイルを開く...(_O)" -#: ../src/usr/bin/diffuse:6340 +#: ../src/usr/bin/diffuse:6609 msgid "_Paste" msgstr "貼り付け(_P)" -#: ../src/usr/bin/diffuse:6368 +#: ../src/usr/bin/diffuse:6637 msgid "_Previous Difference" msgstr "前の差分(_P)" -#: ../src/usr/bin/diffuse:6332 +#: ../src/usr/bin/diffuse:6601 msgid "_Quit" msgstr "終了(_Q)" -#: ../src/usr/bin/diffuse:6336 +#: ../src/usr/bin/diffuse:6605 msgid "_Redo" msgstr "やり直す(_R)" -#: ../src/usr/bin/diffuse:6321 +#: ../src/usr/bin/diffuse:6590 msgid "_Reload File" msgstr "ファイルの再読込み(_R)" -#: ../src/usr/bin/diffuse:6323 +#: ../src/usr/bin/diffuse:6592 msgid "_Save File" msgstr "ファイルを保存(_S)" -#: ../src/usr/bin/diffuse:6362 +#: ../src/usr/bin/diffuse:6631 msgid "_Syntax Highlighting" msgstr "構文の強調表示(_S)" -#: ../src/usr/bin/diffuse:6335 +#: ../src/usr/bin/diffuse:6604 msgid "_Undo" msgstr "元に戻す(_U)" -#: ../src/usr/bin/diffuse:6331 +#: ../src/usr/bin/diffuse:6600 msgid "_Undo Close Tab" msgstr "タブを閉じて元に戻す(_U)" -#: ../src/usr/bin/diffuse:6361 +#: ../src/usr/bin/diffuse:6630 msgid "_View" msgstr "表示(_V)" -#: ../src/usr/bin/diffuse:5618 +#: ../src/usr/bin/diffuse:5919 msgid "translator-credits" msgstr "Derrick Moser " diff -Nru diffuse-0.4.1/translations/README diffuse-0.4.3~lffl~lucid~ppa/translations/README --- diffuse-0.4.1/translations/README 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/translations/README 2010-04-15 12:53:17.000000000 +0100 @@ -2,10 +2,10 @@ for Diffuse. The installer will discover .po files in this directory and compile them into the corresponding .mo files. -The example command show how to create and manage the Japanese translations. -Replace all instances of "ja" with the code for the desired language. Also -note the "Name" and "Comment" fields of the "diffuse.desktop" file should be -translated. +The example commands below show how to create and manage the Japanese +translations. Replace all instances of "ja" with the code for the desired +language. Also note the "Name" and "Comment" fields of the "diffuse.desktop" +file should be translated separately. ---- diff -Nru diffuse-0.4.1/translations/zh_CN.po diffuse-0.4.3~lffl~lucid~ppa/translations/zh_CN.po --- diffuse-0.4.1/translations/zh_CN.po 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/translations/zh_CN.po 2010-04-15 12:53:17.000000000 +0100 @@ -6,7 +6,7 @@ # msgid "" msgstr "" -"Project-Id-Version: Diffuse svn 213\n" +"Project-Id-Version: Diffuse svn 244\n" "Report-Msgid-Bugs-To: \n" "POT-Creation-Date: 2009-10-08 08:20-0400\n" "PO-Revision-Date: 2009-10-07 11:19+0800\n" @@ -16,574 +16,582 @@ "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -#: ../src/usr/bin/diffuse:6548 +#: usr/bin/diffuse:857 +msgid "\"co\" command" +msgstr "\"co\"命令" + +#: usr/bin/diffuse:858 +msgid "\"rlog\" command" +msgstr "\"rlog\"命令" + +#: usr/bin/diffuse:6775 #, python-format msgid "%(title)s Pane %(pane)d" msgstr "%(title)s窗格%(pane)d" -#: ../src/usr/bin/diffuse:6102 +#: usr/bin/diffuse:6323 #, python-format msgid "A file named %s already exists. Do you want to overwrite it?" msgstr "已存在名为%s的文件,您希望覆盖它吗?" -#: ../src/usr/bin/diffuse:3679 +#: usr/bin/diffuse:3921 msgid "Align with Selection" msgstr "向选中的对齐" -#: ../src/usr/bin/diffuse:774 +#: usr/bin/diffuse:801 msgid "Alignment" msgstr "对齐" -#: ../src/usr/bin/diffuse:791 +#: usr/bin/diffuse:818 msgid "Always show the tab bar" msgstr "总是显示标签栏" -#: ../src/usr/bin/diffuse:5544 +#: usr/bin/diffuse:5798 msgid "Auto Detect" msgstr "自动探测" -#: ../src/usr/bin/diffuse:786 +#: usr/bin/diffuse:813 msgid "Auto indent" msgstr "自动缩进" -#: ../src/usr/bin/diffuse:6343 +#: usr/bin/diffuse:6565 msgid "C_lear Edits" msgstr "取消编辑(L)" -#: ../src/usr/bin/diffuse:6792 +#: usr/bin/diffuse:7030 msgid "Choose Folder With Modified Files" msgstr "选择更改过的文件夹" -#: ../src/usr/bin/diffuse:3688 ../src/usr/bin/diffuse:6438 +#: usr/bin/diffuse:3930 usr/bin/diffuse:6665 msgid "Clear Edits" msgstr "取消编辑" -#: ../src/usr/bin/diffuse:5657 +#: usr/bin/diffuse:5909 msgid "Close Tab" msgstr "关闭标签" -#: ../src/usr/bin/diffuse:6557 +#: usr/bin/diffuse:6784 msgid "Close _Without Saving" msgstr "不保存而关闭" -#: ../src/usr/bin/diffuse:5522 +#: usr/bin/diffuse:5776 #, python-format msgid "Closing this tab will quit %s." msgstr "关闭此标签将会退出%s" -#: ../src/usr/bin/diffuse:5806 +#: usr/bin/diffuse:6027 #, python-format msgid "Column %d" msgstr "%d列" -#: ../src/usr/bin/diffuse:827 +#: usr/bin/diffuse:860 msgid "Command" msgstr "命令" -#: ../src/usr/bin/diffuse:6387 +#: usr/bin/diffuse:6609 msgid "Convert Leading Spaces To _Tabs" msgstr "转换开头的空格为制表符(_T)" -#: ../src/usr/bin/diffuse:6386 +#: usr/bin/diffuse:6608 msgid "Convert Tabs To _Spaces" msgstr "转换制表符为空格(_S)" -#: ../src/usr/bin/diffuse:6394 +#: usr/bin/diffuse:6616 msgid "Convert To Uni_x Format" msgstr "转换为Unix格式(_X)" -#: ../src/usr/bin/diffuse:6392 +#: usr/bin/diffuse:6614 msgid "Convert To _DOS Format" msgstr "转换为DOS格式(_D)" -#: ../src/usr/bin/diffuse:6380 +#: usr/bin/diffuse:6602 msgid "Convert To _Lower Case" msgstr "转换成小写" -#: ../src/usr/bin/diffuse:6393 +#: usr/bin/diffuse:6615 msgid "Convert To _Mac Format" msgstr "转换为Mac格式(_M)" -#: ../src/usr/bin/diffuse:6379 +#: usr/bin/diffuse:6601 msgid "Convert To _Upper Case" msgstr "转换成大写" -#: ../src/usr/bin/diffuse:3684 ../src/usr/bin/diffuse:6436 +#: usr/bin/diffuse:3926 usr/bin/diffuse:6663 msgid "Copy" msgstr "复制" -#: ../src/usr/bin/diffuse:6428 +#: usr/bin/diffuse:6655 msgid "Copy Left Into Selection" msgstr "复制左边内容到选择之处" -#: ../src/usr/bin/diffuse:6400 +#: usr/bin/diffuse:6622 msgid "Copy Left _Into Selection" msgstr "复制左边内容到选择之处(_L)" -#: ../src/usr/bin/diffuse:6401 +#: usr/bin/diffuse:6623 msgid "Copy Right I_nto Selection" msgstr "复制右边内容到选择之处(_L)" -#: ../src/usr/bin/diffuse:6429 +#: usr/bin/diffuse:6656 msgid "Copy Right Into Selection" msgstr "复制右边内容到选择之处" -#: ../src/usr/bin/diffuse:6427 +#: usr/bin/diffuse:6654 msgid "Copy Selection Left" msgstr "复制选择之处到左边" -#: ../src/usr/bin/diffuse:6426 +#: usr/bin/diffuse:6653 msgid "Copy Selection Right" msgstr "复制选择之处到右边" -#: ../src/usr/bin/diffuse:6398 +#: usr/bin/diffuse:6620 msgid "Copy Selection _Left" msgstr "复制选择之处到左边(_L)" -#: ../src/usr/bin/diffuse:6397 +#: usr/bin/diffuse:6619 msgid "Copy Selection _Right" msgstr "复制选择之处到右边(_R)" -#: ../src/usr/bin/diffuse:67 -msgid "Copyright © 2006-2009 Derrick Moser" -msgstr "版权所有 © 2006-2009 Derrick Moser" +#: usr/bin/diffuse:67 +msgid "Copyright © 2006-2010 Derrick Moser" +msgstr "版权所有 © 2006-2010 Derrick Moser" -#: ../src/usr/bin/diffuse:6338 +#: usr/bin/diffuse:6560 msgid "Cu_t" msgstr "剪切(_T)" -#: ../src/usr/bin/diffuse:3683 ../src/usr/bin/diffuse:6435 +#: usr/bin/diffuse:3925 usr/bin/diffuse:6662 msgid "Cut" msgstr "剪切" -#: ../src/usr/bin/diffuse:810 +#: usr/bin/diffuse:837 msgid "Cygdrive prefix" msgstr "" -#: ../src/usr/bin/diffuse:807 +#: usr/bin/diffuse:834 msgid "Cygwin" msgstr "" -#: ../src/usr/bin/diffuse:6390 +#: usr/bin/diffuse:6612 msgid "De_crease Indenting" msgstr "减少缩进" -#: ../src/usr/bin/diffuse:790 +#: usr/bin/diffuse:817 msgid "Default panes" msgstr "默认窗格" -#: ../src/usr/bin/diffuse:828 +#: usr/bin/diffuse:861 msgid "Default revision" -msgstr "默认版本" +msgstr "默认修正版本" -#: ../src/usr/bin/diffuse:5617 +#: usr/bin/diffuse:5871 msgid "Derrick Moser " msgstr "" -#: ../src/usr/bin/diffuse:5614 +#: usr/bin/diffuse:5868 msgid "Diffuse is a graphical tool for merging and comparing text files." msgstr "Diffuse是一个合并和比较文本文件的图形化程序。" -#: ../src/usr/bin/diffuse:762 +#: usr/bin/diffuse:789 msgid "Display" msgstr "显示" -#: ../src/usr/bin/diffuse:782 +#: usr/bin/diffuse:809 msgid "Editor" msgstr "编辑器" -#: ../src/usr/bin/diffuse:5534 +#: usr/bin/diffuse:5788 msgid "Encoding: " msgstr "编码:" -#: ../src/usr/bin/diffuse:6148 +#: usr/bin/diffuse:6370 #, python-format msgid "Error encoding to %s." -msgstr "无法编码%s。" +msgstr "无法编码为%s。" -#: ../src/usr/bin/diffuse:1774 +#: usr/bin/diffuse:1932 #, python-format msgid "Error parsing %s." msgstr "无法解析%s。" -#: ../src/usr/bin/diffuse:6190 +#: usr/bin/diffuse:6412 msgid "Error parsing line number." msgstr "解析行数时错误。" -#: ../src/usr/bin/diffuse:7086 +#: usr/bin/diffuse:7327 #, python-format msgid "Error parsing revision %s." -msgstr "无法解析修订%s时。" +msgstr "无法解析修订版本%s。" -#: ../src/usr/bin/diffuse:7150 +#: usr/bin/diffuse:7391 #, python-format msgid "Error processing argument \"%s\". Directory not expected." -msgstr "无法继续\"%s\"。目录不存在。" +msgstr "无法处理\"%s\"。目录不存在。" -#: ../src/usr/bin/diffuse:679 +#: usr/bin/diffuse:706 #, python-format msgid "Error processing line %(line)d of %(file)s." -msgstr "无法继续%(file)s的行%(line)d。" +msgstr "处理到文件%(file)s的%(line)d行时出错。" -#: ../src/usr/bin/diffuse:5996 ../src/usr/bin/diffuse:7058 +#: usr/bin/diffuse:6217 usr/bin/diffuse:7299 #, python-format msgid "Error reading %s." msgstr "无法读取%s。" -#: ../src/usr/bin/diffuse:5994 +#: usr/bin/diffuse:6215 #, python-format msgid "Error reading revision %(rev)s of %(file)s." -msgstr "无法读取%(file)s中修订%(rev)s。" +msgstr "无法读取文件%(file)s中的修订版本%(rev)s。" -#: ../src/usr/bin/diffuse:6743 +#: usr/bin/diffuse:6981 #, python-format msgid "Error retrieving modifications for %s." msgstr "无法恢复对%s的修改。" -#: ../src/usr/bin/diffuse:912 ../src/usr/bin/diffuse:6152 +#: usr/bin/diffuse:944 usr/bin/diffuse:6374 #, python-format msgid "Error writing %s." msgstr "无法写入%s" -#: ../src/usr/bin/diffuse:785 +#: usr/bin/diffuse:812 msgid "Expand tabs to spaces" msgstr "展开制表符为空格" -#: ../src/usr/bin/diffuse:6378 +#: usr/bin/diffuse:6600 msgid "F_ormat" msgstr "格式(_O)" -#: ../src/usr/bin/diffuse:6653 +#: usr/bin/diffuse:6891 #, python-format msgid "File Merge %d" msgstr "文件合并%d" -#: ../src/usr/bin/diffuse:6348 +#: usr/bin/diffuse:6570 msgid "Find Pre_vious" msgstr "找上一个(_V)" -#: ../src/usr/bin/diffuse:6347 +#: usr/bin/diffuse:6569 msgid "Find _Next" msgstr "找下一个(_N)" -#: ../src/usr/bin/diffuse:5472 +#: usr/bin/diffuse:5726 msgid "Find..." msgstr "查找..." -#: ../src/usr/bin/diffuse:6421 +#: usr/bin/diffuse:6648 msgid "First Difference" msgstr "第一个不同之处" -#: ../src/usr/bin/diffuse:764 +#: usr/bin/diffuse:791 msgid "Font" msgstr "字体" -#: ../src/usr/bin/diffuse:5577 +#: usr/bin/diffuse:5831 msgid "Go To Line..." msgstr "跳到行..." -#: ../src/usr/bin/diffuse:770 +#: usr/bin/diffuse:797 msgid "Ignore blank line differences" msgstr "忽略空行的不同" -#: ../src/usr/bin/diffuse:778 +#: usr/bin/diffuse:805 msgid "Ignore blank lines" msgstr "忽略空行" -#: ../src/usr/bin/diffuse:780 +#: usr/bin/diffuse:807 msgid "Ignore case" msgstr "忽略大小写" -#: ../src/usr/bin/diffuse:771 +#: usr/bin/diffuse:798 msgid "Ignore case differences" msgstr "忽略大小写的不同" -#: ../src/usr/bin/diffuse:769 ../src/usr/bin/diffuse:777 +#: usr/bin/diffuse:796 usr/bin/diffuse:804 msgid "Ignore changes to white space" msgstr "忽略对空格的改变" -#: ../src/usr/bin/diffuse:779 +#: usr/bin/diffuse:806 msgid "Ignore end of line characters" msgstr "忽略行尾结束符" -#: ../src/usr/bin/diffuse:772 +#: usr/bin/diffuse:799 msgid "Ignore end of line differences" msgstr "忽略行尾的不同" -#: ../src/usr/bin/diffuse:776 +#: usr/bin/diffuse:803 msgid "Ignore white space" msgstr "忽略空格" -#: ../src/usr/bin/diffuse:768 +#: usr/bin/diffuse:795 msgid "Ignore white space differences" msgstr "忽略空格的不同" -#: ../src/usr/bin/diffuse:3680 +#: usr/bin/diffuse:3922 msgid "Isolate" msgstr "分离" -#: ../src/usr/bin/diffuse:6424 +#: usr/bin/diffuse:6651 msgid "Last Difference" -msgstr "最后一个不同之处" +msgstr "上一个不同之处" -#: ../src/usr/bin/diffuse:831 +#: usr/bin/diffuse:863 msgid "Launch from a Bash login shell" msgstr "从命令行登录界面加载" -#: ../src/usr/bin/diffuse:5583 +#: usr/bin/diffuse:5837 msgid "Line Number: " msgstr "行数:" -#: ../src/usr/bin/diffuse:6403 +#: usr/bin/diffuse:6625 msgid "M_erge From Right Then Left" -msgstr "从右向左合并(_E)" +msgstr "先右后左合并(_E)" -#: ../src/usr/bin/diffuse:5503 +#: usr/bin/diffuse:5757 msgid "Match Case" msgstr "符合大小写" -#: ../src/usr/bin/diffuse:6430 +#: usr/bin/diffuse:6657 msgid "Merge From Left Then Right" -msgstr "从左到右合并" +msgstr "先左后右合并" -#: ../src/usr/bin/diffuse:6431 +#: usr/bin/diffuse:6658 msgid "Merge From Right Then Left" -msgstr "从左到右合并(_T)" +msgstr "先右后左合并(_T)" -#: ../src/usr/bin/diffuse:3681 +#: usr/bin/diffuse:3923 msgid "Merge Selection" msgstr "合并选择之处" -#: ../src/usr/bin/diffuse:6417 +#: usr/bin/diffuse:6644 msgid "New 2-Way File Merge" -msgstr "新的2个文件合并" +msgstr "新建2方文件合并" -#: ../src/usr/bin/diffuse:6418 +#: usr/bin/diffuse:6645 msgid "New 3-Way File Merge" -msgstr "新的3个文件合并" +msgstr "新建3方文件合并" -#: ../src/usr/bin/diffuse:6327 +#: usr/bin/diffuse:6549 msgid "New _2-Way File Merge" -msgstr "新的2个文件合并(_2)" +msgstr "新建2方文件合并(_2)" -#: ../src/usr/bin/diffuse:6328 +#: usr/bin/diffuse:6550 msgid "New _3-Way File Merge" -msgstr "新的3个文件合并(_3)" +msgstr "新建3方文件合并(_3)" -#: ../src/usr/bin/diffuse:6423 +#: usr/bin/diffuse:6650 msgid "Next Difference" msgstr "下个不同之处" -#: ../src/usr/bin/diffuse:6373 +#: usr/bin/diffuse:6595 msgid "Next _Tab" msgstr "下个标签(_T)" -#: ../src/usr/bin/diffuse:6805 +#: usr/bin/diffuse:7043 msgid "No modified files found." msgstr "没有找到修改过的文件。" -#: ../src/usr/bin/diffuse:6353 +#: usr/bin/diffuse:6575 msgid "None" msgstr "无" -#: ../src/usr/bin/diffuse:6019 +#: usr/bin/diffuse:6240 msgid "Open File" msgstr "打开文件" -#: ../src/usr/bin/diffuse:6776 +#: usr/bin/diffuse:7014 msgid "Open File In New Tab" msgstr "在新标签里打开文件" -#: ../src/usr/bin/diffuse:6319 +#: usr/bin/diffuse:6541 msgid "Open File In New _Tab..." msgstr "在新标签里打开文件(_T)" -#: ../src/usr/bin/diffuse:5729 +#: usr/bin/diffuse:5950 msgid "Open File..." msgstr "打开文件" -#: ../src/usr/bin/diffuse:6320 +#: usr/bin/diffuse:6542 msgid "Open _Modified Files..." msgstr "打开修改过的文件(_M)" -#: ../src/usr/bin/diffuse:796 +#: usr/bin/diffuse:823 msgid "Order of codecs used to identify encoding" msgstr "用来识别编码的编码顺序" -#: ../src/usr/bin/diffuse:3685 ../src/usr/bin/diffuse:6437 +#: usr/bin/diffuse:3927 usr/bin/diffuse:6664 msgid "Paste" msgstr "粘贴" -#: ../src/usr/bin/diffuse:6889 +#: usr/bin/diffuse:7127 msgid "Phrase not found. Continue from the end of the file?" msgstr "短语未找到,从文件结尾继续吗?" -#: ../src/usr/bin/diffuse:6891 +#: usr/bin/diffuse:7129 msgid "Phrase not found. Continue from the start of the file?" msgstr "短语未找到,从文件开头继续吗?" -#: ../src/usr/bin/diffuse:6351 +#: usr/bin/diffuse:6573 msgid "Pr_eferences..." msgstr "首选项(_E)" -#: ../src/usr/bin/diffuse:6372 +#: usr/bin/diffuse:6594 msgid "Pre_vious Tab" msgstr "前一个标签(_V)" -#: ../src/usr/bin/diffuse:888 +#: usr/bin/diffuse:920 msgid "Preferences" msgstr "首选项" -#: ../src/usr/bin/diffuse:6213 +#: usr/bin/diffuse:6435 msgid "" "Press the enter key or double click to edit. Press the space bar or use the " "RMB menu to manually align." msgstr "按回车或者鼠标双击进行编译。空格键或者右键菜单手动对齐。" -#: ../src/usr/bin/diffuse:6215 +#: usr/bin/diffuse:6437 msgid "Press the escape key to finish editing." msgstr "按ESC键结束编辑" -#: ../src/usr/bin/diffuse:6422 +#: usr/bin/diffuse:6649 msgid "Previous Difference" msgstr "前一个不同" -#: ../src/usr/bin/diffuse:6364 +#: usr/bin/diffuse:6586 msgid "Re_align All" msgstr "重新对齐所有(_A)" -#: ../src/usr/bin/diffuse:6420 +#: usr/bin/diffuse:6647 msgid "Realign All" msgstr "重新对齐所有" -#: ../src/usr/bin/diffuse:6434 +#: usr/bin/diffuse:6661 msgid "Redo" msgstr "重做" -#: ../src/usr/bin/diffuse:794 +#: usr/bin/diffuse:821 msgid "Regional Settings" msgstr "区域性设置" -#: ../src/usr/bin/diffuse:5730 +#: usr/bin/diffuse:5951 msgid "Reload File" msgstr "重新加载文件" -#: ../src/usr/bin/diffuse:6385 +#: usr/bin/diffuse:6607 msgid "Remove Trailing _White Space" msgstr "删除多余的空格(_W)" -#: ../src/usr/bin/diffuse:5552 +#: usr/bin/diffuse:5806 msgid "Revision: " msgstr "修订:" -#: ../src/usr/bin/diffuse:809 +#: usr/bin/diffuse:836 msgid "Root directory" msgstr "根目录" -#: ../src/usr/bin/diffuse:6085 +#: usr/bin/diffuse:6306 #, python-format msgid "Save %(title)s Pane %(pane)d" msgstr "保存%(title)s窗格%(pane)d" -#: ../src/usr/bin/diffuse:6325 +#: usr/bin/diffuse:6547 msgid "Save A_ll" msgstr "保存所有(_L)" -#: ../src/usr/bin/diffuse:5731 +#: usr/bin/diffuse:5952 msgid "Save File" msgstr "保存文件" -#: ../src/usr/bin/diffuse:5732 +#: usr/bin/diffuse:5953 msgid "Save File As..." msgstr "另存为" -#: ../src/usr/bin/diffuse:6324 +#: usr/bin/diffuse:6546 msgid "Save File _As..." msgstr "另存为(_A)" -#: ../src/usr/bin/diffuse:5871 +#: usr/bin/diffuse:6092 msgid "Save changes before loading the new file?" msgstr "加载新文件之前保存更改吗?" -#: ../src/usr/bin/diffuse:5508 +#: usr/bin/diffuse:5762 msgid "Search Backwards" msgstr "反向搜索" -#: ../src/usr/bin/diffuse:5478 +#: usr/bin/diffuse:5732 msgid "Search For: " msgstr "搜索:" -#: ../src/usr/bin/diffuse:3687 +#: usr/bin/diffuse:3929 msgid "Select All" msgstr "选择所有" -#: ../src/usr/bin/diffuse:6342 +#: usr/bin/diffuse:6564 msgid "Select _All" msgstr "选择所有(_A)" -#: ../src/usr/bin/diffuse:6217 +#: usr/bin/diffuse:6439 msgid "" "Select target line and press the space bar to align. Press the escape key " "to cancel." msgstr "选择目标行然后按空格键进行对齐,按ESC取消。" -#: ../src/usr/bin/diffuse:6376 +#: usr/bin/diffuse:6598 msgid "Shift Pane _Left" msgstr "左移窗格(_L)" -#: ../src/usr/bin/diffuse:6375 +#: usr/bin/diffuse:6597 msgid "Shift Pane _Right" msgstr "右移窗格(_R)" -#: ../src/usr/bin/diffuse:766 +#: usr/bin/diffuse:793 msgid "Show line numbers" msgstr "显示行号" -#: ../src/usr/bin/diffuse:767 +#: usr/bin/diffuse:794 msgid "Show white space characters" msgstr "显示空格字符" -#: ../src/usr/bin/diffuse:7143 +#: usr/bin/diffuse:7384 #, python-format msgid "Skipping unknown argument \"%s\"." msgstr "跳过未知参数\"%s\"。" -#: ../src/usr/bin/diffuse:784 +#: usr/bin/diffuse:811 msgid "Soft tab width" msgstr "软制表符宽度" -#: ../src/usr/bin/diffuse:6542 +#: usr/bin/diffuse:6769 msgid "" "Some files have unsaved changes. Select the files to save before closing." msgstr "" "一些文件包含未保存的更改。请在关闭前保存这些文件。" -#: ../src/usr/bin/diffuse:6383 +#: usr/bin/diffuse:6605 msgid "Sort Lines In D_escending Order" msgstr "以递减的顺序排列行" -#: ../src/usr/bin/diffuse:6382 +#: usr/bin/diffuse:6604 msgid "Sort Lines In _Ascending Order" msgstr "以递增的顺序排列行" -#: ../src/usr/bin/diffuse:3690 +#: usr/bin/diffuse:3932 msgid "Swap with Selected Pane" msgstr "交换选中的窗格" -#: ../src/usr/bin/diffuse:765 +#: usr/bin/diffuse:792 msgid "Tab width" msgstr "制表符宽度" -#: ../src/usr/bin/diffuse:788 +#: usr/bin/diffuse:815 msgid "Tabs" msgstr "标签" -#: ../src/usr/bin/diffuse:6065 +#: usr/bin/diffuse:6286 #, python-format msgid "The file %s changed on disk. Do you want to reload the file?" msgstr "磁盘文件%s已被更改,是否重新载入?" -#: ../src/usr/bin/diffuse:6107 +#: usr/bin/diffuse:6328 #, python-format msgid "" "The file %s has been modified by another process since reading it. If you " @@ -592,7 +600,7 @@ "文件%s打开后被其他进程更改过了,如果保存,其他程序的修改将会丢失," "保存吗?" -#: ../src/usr/bin/diffuse:5621 +#: usr/bin/diffuse:5875 msgid "" "This program is free software; you can redistribute it and/or modify it " "under the terms of the GNU General Public License as published by the Free " @@ -611,15 +619,15 @@ "Fifth Floor, Boston, MA 02110-1301 USA\n" msgstr "" -#: ../src/usr/bin/diffuse:6433 +#: usr/bin/diffuse:6660 msgid "Undo" msgstr "恢复" -#: ../src/usr/bin/diffuse:833 +#: usr/bin/diffuse:865 msgid "Update paths for Cygwin" msgstr "为Cygwin更新路径" -#: ../src/usr/bin/diffuse:78 +#: usr/bin/diffuse:78 msgid "" "Usage:\n" " diffuse [ [OPTION...] [FILE...] ]...\n" @@ -632,7 +640,7 @@ "ability to manually adjust line matching and directly edit files. Diffuse " "can\n" "also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial,\n" -"Monotone, Subversion, and SVK repositories for comparison and merging.\n" +"Monotone, RCS, Subversion, and SVK repositories for comparison and merging.\n" "\n" "Help Options:\n" " ( -h | -? | --help ) Display this usage information\n" @@ -660,144 +668,182 @@ " ( -i | --ignore-case ) Ignore case differences\n" " ( -w | --ignore-all-space ) Ignore white space differences" msgstr "" +"用法:\n" +" diffuse [ [参数...] [文件...] ]...\n" +" diffuse ( -h | -? | --help | -v | --version )\n" +"\n" +"Diffuse is a graphical tool for merging and comparing text files. Diffuse " +"is\n" +"able to compare an arbitrary number of files side-by-side and gives users " +"the\n" +"ability to manually adjust line matching and directly edit files. Diffuse " +"can\n" +"also retrieve revisions of files from Bazaar, CVS, Darcs, Git, Mercurial,\n" +"Monotone, RCS, Subversion, and SVK repositories for comparison and merging.\n" +"\n" +"帮助参数:\n" +" ( -h | -? | --help ) 显示词使用信息\n" +" ( -v | --version ) 现实版本和版权信息\n" +"\n" +"配置参数:\n" +" --no-rcfile 不要读取任何源文件\n" +" --rcfile 指定明确的源文件\n" +"\n" +"其它参数:\n" +" ( -c | --commit ) File revisions and \n" +" ( -D | --close-if-same ) Close all tabs with no differences\n" +" ( -e | --encoding ) Use to read and write files\n" +" ( -m | --modified ) Create a new tab for each modified file\n" +" ( -r | --revision ) File revision \n" +" ( -s | --separate ) Create a new tab for each file\n" +" ( -t | --tab ) Start a new tab\n" +" --null-file Create a blank file comparison pane\n" +"\n" +"显示参数:\n" +" ( -b | --ignore-space-change ) 忽略对空白的改变\n" +" ( -B | --ignore-blank-lines ) 忽略对空行的改变\n" +" ( -E | --ignore-end-of-line ) 忽略行尾的不同\n" +" ( -i | --ignore-case ) 忽略小结的不同\n" +" ( -w | --ignore-all-space ) 忽略所有空白的不同" + -#: ../src/usr/bin/diffuse:836 +#: usr/bin/diffuse:868 msgid "Version Control" msgstr "版本控制" -#: ../src/usr/bin/diffuse:792 +#: usr/bin/diffuse:819 #, python-format msgid "Warn me when closing a tab will quit %s" msgstr "当关闭标签会退出%s的时候提醒我" -#: ../src/usr/bin/diffuse:548 +#: usr/bin/diffuse:549 #, python-format msgid "Warning: unknown colour \"%s\"" msgstr "警告:未知的颜色\"%s\"" -#: ../src/usr/bin/diffuse:557 +#: usr/bin/diffuse:558 #, python-format msgid "Warning: unknown float \"%s\"" -msgstr "警告:未知的浮点\"%s\"" +msgstr "警告:未知的浮点数\"%s\"" -#: ../src/usr/bin/diffuse:566 +#: usr/bin/diffuse:567 #, python-format msgid "Warning: unknown string \"%s\"" msgstr "警告:未知字符串\"%s\"" -#: ../src/usr/bin/diffuse:6408 +#: usr/bin/diffuse:6630 #, python-format msgid "_About %s..." msgstr "关于%s(_A)" -#: ../src/usr/bin/diffuse:6330 +#: usr/bin/diffuse:6552 msgid "_Close Tab" msgstr "关闭标签(_C)" -#: ../src/usr/bin/diffuse:6339 +#: usr/bin/diffuse:6561 msgid "_Copy" msgstr "复制(_C)" -#: ../src/usr/bin/diffuse:6344 +#: usr/bin/diffuse:6566 msgid "_Dismiss All Edits" msgstr "撤销所有更改(_D)" -#: ../src/usr/bin/diffuse:6334 +#: usr/bin/diffuse:6556 msgid "_Edit" msgstr "编辑(_E)" -#: ../src/usr/bin/diffuse:6317 +#: usr/bin/diffuse:6539 msgid "_File" msgstr "文件(_F)" -#: ../src/usr/bin/diffuse:6346 +#: usr/bin/diffuse:6568 msgid "_Find..." msgstr "查找(_F)" -#: ../src/usr/bin/diffuse:6367 +#: usr/bin/diffuse:6589 msgid "_First Difference" msgstr "第一个不同(_F)" -#: ../src/usr/bin/diffuse:6349 +#: usr/bin/diffuse:6571 msgid "_Go To Line..." msgstr "跳到行(_G)" -#: ../src/usr/bin/diffuse:6405 +#: usr/bin/diffuse:6627 msgid "_Help" msgstr "帮助(_H)" -#: ../src/usr/bin/diffuse:6406 +#: usr/bin/diffuse:6628 msgid "_Help Contents..." msgstr "帮助内容(_H)" -#: ../src/usr/bin/diffuse:6389 +#: usr/bin/diffuse:6611 msgid "_Increase Indenting" msgstr "减少缩进(_I)" -#: ../src/usr/bin/diffuse:6365 +#: usr/bin/diffuse:6587 msgid "_Isolate" msgstr "分离(_I)" -#: ../src/usr/bin/diffuse:6370 +#: usr/bin/diffuse:6592 msgid "_Last Difference" msgstr "最后一个不同(_L)" -#: ../src/usr/bin/diffuse:6396 +#: usr/bin/diffuse:6618 msgid "_Merge" msgstr "合并(_M)" -#: ../src/usr/bin/diffuse:6402 +#: usr/bin/diffuse:6624 msgid "_Merge From Left Then Right" -msgstr "从右向左合并(_M)" +msgstr "先左再右合并(_M)" -#: ../src/usr/bin/diffuse:6369 +#: usr/bin/diffuse:6591 msgid "_Next Difference" msgstr "下一个不同(_N)" -#: ../src/usr/bin/diffuse:6318 +#: usr/bin/diffuse:6540 msgid "_Open File..." msgstr "打开文件(_O)" -#: ../src/usr/bin/diffuse:6340 +#: usr/bin/diffuse:6562 msgid "_Paste" msgstr "粘贴(_P)" -#: ../src/usr/bin/diffuse:6368 +#: usr/bin/diffuse:6590 msgid "_Previous Difference" msgstr "前一个不同(_P)" -#: ../src/usr/bin/diffuse:6332 +#: usr/bin/diffuse:6554 msgid "_Quit" msgstr "退出(_Q)" -#: ../src/usr/bin/diffuse:6336 +#: usr/bin/diffuse:6558 msgid "_Redo" msgstr "重做(_R)" -#: ../src/usr/bin/diffuse:6321 +#: usr/bin/diffuse:6543 msgid "_Reload File" msgstr "重新加载文件(_R)" -#: ../src/usr/bin/diffuse:6323 +#: usr/bin/diffuse:6545 msgid "_Save File" msgstr "保存(_S)" -#: ../src/usr/bin/diffuse:6362 +#: usr/bin/diffuse:6584 msgid "_Syntax Highlighting" msgstr "_Syntax高亮" -#: ../src/usr/bin/diffuse:6335 +#: usr/bin/diffuse:6557 msgid "_Undo" msgstr "恢复(_U)" -#: ../src/usr/bin/diffuse:6331 +#: usr/bin/diffuse:6553 msgid "_Undo Close Tab" msgstr "恢复关闭的标签" -#: ../src/usr/bin/diffuse:6361 +#: usr/bin/diffuse:6583 msgid "_View" msgstr "视图(_V)" -#: ../src/usr/bin/diffuse:5618 +#: usr/bin/diffuse:5872 msgid "translator-credits" msgstr "Liu Hao " diff -Nru diffuse-0.4.1/utils/book2manual.xsl diffuse-0.4.3~lffl~lucid~ppa/utils/book2manual.xsl --- diffuse-0.4.1/utils/book2manual.xsl 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/utils/book2manual.xsl 2010-04-15 12:53:17.000000000 +0100 @@ -1,14 +1,14 @@ - + - + ]> diff -Nru diffuse-0.4.1/utils/makemanual.sh diffuse-0.4.3~lffl~lucid~ppa/utils/makemanual.sh --- diffuse-0.4.1/utils/makemanual.sh 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/utils/makemanual.sh 2010-04-15 12:53:17.000000000 +0100 @@ -1,6 +1,6 @@ #!/bin/bash -# Copyright (C) 2009 Derrick Moser +# Copyright (C) 2009-2010 Derrick Moser # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software @@ -28,6 +28,11 @@ exit 1 fi +# create man page xsltproc --nonet book2manual.xsl ../src/usr/share/gnome/help/diffuse/C/diffuse.xml | xsltproc --nonet "$1/manpages/docbook.xsl" - # eliminate comment lines and replace arrow character with correct sequence sed -i '/^\.\\"/d;s/\xe2\x86\x92/\\(->/g' diffuse.1 + +# create on-line manual +# eliminate ugly empty paragraphs +xsltproc "$1/html/docbook.xsl" ../src/usr/share/gnome/help/diffuse/C/diffuse.xml | sed ':a;N;$!ba;s/

[ \n]*<\/p>//g' > manual.html diff -Nru diffuse-0.4.1/windows-installer/build.py diffuse-0.4.3~lffl~lucid~ppa/windows-installer/build.py --- diffuse-0.4.1/windows-installer/build.py 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/windows-installer/build.py 2010-04-15 12:53:17.000000000 +0100 @@ -1,4 +1,4 @@ -# Copyright (C) 2006-2009 Derrick Moser +# Copyright (C) 2006-2010 Derrick Moser # # This program is free software; you can redistribute it and/or modify it under # the terms of the GNU General Public License as published by the Free Software @@ -24,7 +24,7 @@ import subprocess import sys -VERSION='0.4.1' +VERSION='0.4.3' PACKAGE='1' PLATFORM='win' + ''.join([ c for c in platform.architecture()[0] if c.isdigit() ]) INSTALLER='diffuse-%s-%s.%s' % (VERSION, PACKAGE, PLATFORM) @@ -38,11 +38,9 @@ def copyFile(src, dest, use_text_mode=False): print 'copying "%s" to "%s"' % (src, dest) if use_text_mode: - r = 'r' - w = 'w' + r, w = 'r', 'w' else: - r = 'rb' - w = 'wb' + r, w = 'rb', 'wb' f = open(src, r) s = f.read() f.close() @@ -136,7 +134,7 @@ for lang in os.listdir(d): p = os.path.join(os.path.join(d, lang), 'diffuse.xml') if os.path.isfile(p): - cmd = [ 'xsltproc', os.path.join(os.environ['DOCBOOK_XSL_HOME'], 'html\\docbook.xsl'), p ] + cmd = [ 'xsltproc', '/usr/share/docbook-xsl/html/docbook.xsl', p ] info = subprocess.STARTUPINFO() info.dwFlags |= subprocess.STARTF_USESHOWWINDOW info.wShowWindow = subprocess.SW_HIDE diff -Nru diffuse-0.4.1/windows-installer/diffuse.iss diffuse-0.4.3~lffl~lucid~ppa/windows-installer/diffuse.iss --- diffuse-0.4.1/windows-installer/diffuse.iss 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/windows-installer/diffuse.iss 2010-04-15 12:53:17.000000000 +0100 @@ -1,10 +1,10 @@ ; Inno Setup file for Diffuse ; -; Copyright (C) 2009 Derrick Moser +; Copyright (C) 2009-2010 Derrick Moser [Setup] AppName=Diffuse Merge Tool -AppVerName=Diffuse 0.4.1 +AppVerName=Diffuse 0.4.3 DefaultDirName={pf}\Diffuse DefaultGroupName=Diffuse UninstallDisplayIcon={app}\diffusew.exe diff -Nru diffuse-0.4.1/windows-installer/README.txt diffuse-0.4.3~lffl~lucid~ppa/windows-installer/README.txt --- diffuse-0.4.1/windows-installer/README.txt 2009-10-13 02:44:10.000000000 +0100 +++ diffuse-0.4.3~lffl~lucid~ppa/windows-installer/README.txt 2010-04-15 12:53:17.000000000 +0100 @@ -20,26 +20,19 @@ 3) py2exe http://www.py2exe.org/ -4) xsltproc - http://xmlsoft.org/XSLT/ +4) xsltproc (use Cygwin installer) - There is no official installer. Unzip the Windows binary package and - manually add its 'bin' directory to the PATH environment variable. - -5) DocBook stylesheets - http://docbook.sourceforge.net/ - - Only the 'docbook-xsl' package is needed. Unzip the package and set the - environment variable DOCBOOK_XSL_HOME to the full path of the root - directory. +5) docbook-xsl (use Cygwin installer) 6) ADD_PATH - http://blog.barisione.org/project/#add_path + http://blog.barisione.org/projects/#add_path Unzip the package and set the environment variable ADD_PATH_HOME to the full path of the root directory. -7) Inno Setup +7) GNU gettext (use Cygwin installer; install the development package) + +8) Inno Setup http://jrsoftware.org/isinfo.php You may need to manually update the PATH environment variable to run